Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Feb 2016 00:37:59 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r295734 - in projects/release-pkg: . bin/sh/tests cddl/usr.sbin/dtrace/tests/common contrib/elftoolchain/elfcopy gnu/usr.bin/rcs/doc lib/clang/libllvmdebuginfodwarf lib/clang/libllvmdeb...
Message-ID:  <201602180037.u1I0bxad032053@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Thu Feb 18 00:37:58 2016
New Revision: 295734
URL: https://svnweb.freebsd.org/changeset/base/295734

Log:
  MFH
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/release-pkg/lib/clang/libllvmdebuginfodwarf/Makefile.depend
     - copied unchanged from r295733, head/lib/clang/libllvmdebuginfodwarf/Makefile.depend
  projects/release-pkg/lib/clang/libllvmdebuginfopdb/Makefile.depend
     - copied unchanged from r295733, head/lib/clang/libllvmdebuginfopdb/Makefile.depend
  projects/release-pkg/lib/clang/libllvmlibdriver/Makefile.depend
     - copied unchanged from r295733, head/lib/clang/libllvmlibdriver/Makefile.depend
  projects/release-pkg/lib/clang/libllvmlto/Makefile.depend
     - copied unchanged from r295733, head/lib/clang/libllvmlto/Makefile.depend
  projects/release-pkg/lib/clang/libllvmmirparser/Makefile.depend
     - copied unchanged from r295733, head/lib/clang/libllvmmirparser/Makefile.depend
  projects/release-pkg/lib/clang/libllvmorcjit/Makefile.depend
     - copied unchanged from r295733, head/lib/clang/libllvmorcjit/Makefile.depend
  projects/release-pkg/lib/clang/libllvmpasses/Makefile.depend
     - copied unchanged from r295733, head/lib/clang/libllvmpasses/Makefile.depend
  projects/release-pkg/lib/libpe/Makefile.depend
     - copied unchanged from r295733, head/lib/libpe/Makefile.depend
  projects/release-pkg/libexec/makewhatis.local/
     - copied from r295733, head/libexec/makewhatis.local/
  projects/release-pkg/sys/arm/allwinner/a10_codec.c
     - copied unchanged from r295733, head/sys/arm/allwinner/a10_codec.c
  projects/release-pkg/sys/arm/allwinner/a10_padconf.c
     - copied unchanged from r295733, head/sys/arm/allwinner/a10_padconf.c
  projects/release-pkg/sys/arm/allwinner/a20/a20_padconf.c
     - copied unchanged from r295733, head/sys/arm/allwinner/a20/a20_padconf.c
  projects/release-pkg/sys/arm/allwinner/allwinner_pinctrl.h
     - copied unchanged from r295733, head/sys/arm/allwinner/allwinner_pinctrl.h
  projects/release-pkg/sys/arm64/cavium/thunder_pcie_pem.h
     - copied unchanged from r295733, head/sys/arm64/cavium/thunder_pcie_pem.h
  projects/release-pkg/sys/arm64/cavium/thunder_pcie_pem_fdt.c
     - copied unchanged from r295733, head/sys/arm64/cavium/thunder_pcie_pem_fdt.c
  projects/release-pkg/usr.bin/bmake/tests/Makefile.inc
     - copied unchanged from r295733, head/usr.bin/bmake/tests/Makefile.inc
  projects/release-pkg/usr.bin/clang/bugpoint/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/bugpoint/Makefile.depend
  projects/release-pkg/usr.bin/clang/llc/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llc/Makefile.depend
  projects/release-pkg/usr.bin/clang/lli/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/lli/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-ar/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-ar/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-as/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-as/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-bcanalyzer/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-bcanalyzer/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-cov/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-cov/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-cxxdump/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-cxxdump/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-diff/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-diff/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-dis/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-dis/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-dwarfdump/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-dwarfdump/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-extract/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-extract/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-link/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-link/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-lto/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-lto/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-mc/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-mc/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-nm/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-nm/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-objdump/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-objdump/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-pdbdump/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-pdbdump/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-profdata/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-profdata/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-rtdyld/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-rtdyld/Makefile.depend
  projects/release-pkg/usr.bin/clang/llvm-symbolizer/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/llvm-symbolizer/Makefile.depend
  projects/release-pkg/usr.bin/clang/macho-dump/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/macho-dump/Makefile.depend
  projects/release-pkg/usr.bin/clang/opt/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/clang/opt/Makefile.depend
  projects/release-pkg/usr.bin/truss/Makefile.depend
     - copied unchanged from r295733, head/usr.bin/truss/Makefile.depend
Deleted:
  projects/release-pkg/usr.bin/truss/Makefile.depend.amd64
Modified:
  projects/release-pkg/Makefile.inc1
  projects/release-pkg/bin/sh/tests/Makefile
  projects/release-pkg/cddl/usr.sbin/dtrace/tests/common/Makefile
  projects/release-pkg/contrib/elftoolchain/elfcopy/main.c
  projects/release-pkg/gnu/usr.bin/rcs/doc/rcs.ms
  projects/release-pkg/lib/libc/tests/Makefile
  projects/release-pkg/libexec/Makefile
  projects/release-pkg/libexec/rtld-elf/tests/Makefile
  projects/release-pkg/sbin/kldstat/Makefile.depend
  projects/release-pkg/secure/lib/libssh/Makefile.depend
  projects/release-pkg/share/misc/committers-ports.dot
  projects/release-pkg/share/mk/bsd.dep.mk
  projects/release-pkg/share/mk/bsd.init.mk
  projects/release-pkg/share/mk/bsd.lib.mk
  projects/release-pkg/share/mk/bsd.obj.mk
  projects/release-pkg/share/mk/bsd.prog.mk
  projects/release-pkg/share/mk/bsd.subdir.mk
  projects/release-pkg/share/mk/bsd.test.mk
  projects/release-pkg/sys/arm/allwinner/a10_ahci.c
  projects/release-pkg/sys/arm/allwinner/a10_gpio.c
  projects/release-pkg/sys/arm/allwinner/a20/a20_if_dwc.c
  projects/release-pkg/sys/arm/allwinner/a20/files.a20
  projects/release-pkg/sys/arm/allwinner/axp209.c
  projects/release-pkg/sys/arm/allwinner/files.a10
  projects/release-pkg/sys/arm/allwinner/files.allwinner
  projects/release-pkg/sys/arm/allwinner/if_emac.c
  projects/release-pkg/sys/arm/arm/bus_space_generic.c
  projects/release-pkg/sys/arm/arm/devmap.c
  projects/release-pkg/sys/arm/arm/fiq.c
  projects/release-pkg/sys/arm/arm/genassym.c
  projects/release-pkg/sys/arm/arm/locore-v6.S
  projects/release-pkg/sys/arm/arm/ofw_machdep.c
  projects/release-pkg/sys/arm/arm/pmap-v6.c
  projects/release-pkg/sys/arm/at91/at91_machdep.c
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_dma.c
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_dma.h
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
  projects/release-pkg/sys/arm/cavium/cns11xx/econa_machdep.c
  projects/release-pkg/sys/arm/conf/A10
  projects/release-pkg/sys/arm/conf/A20
  projects/release-pkg/sys/arm/conf/CUBIEBOARD
  projects/release-pkg/sys/arm/freescale/imx/imx6_machdep.c
  projects/release-pkg/sys/arm/include/devmap.h
  projects/release-pkg/sys/arm/include/pmap-v6.h
  projects/release-pkg/sys/arm/include/pmap_var.h
  projects/release-pkg/sys/arm/include/vm.h
  projects/release-pkg/sys/arm/mv/mv_localbus.c
  projects/release-pkg/sys/arm/mv/mv_machdep.c
  projects/release-pkg/sys/arm/mv/mv_pci.c
  projects/release-pkg/sys/arm/mv/orion/db88f5xxx.c
  projects/release-pkg/sys/arm/ti/ti_scm.c
  projects/release-pkg/sys/arm/versatile/versatile_machdep.c
  projects/release-pkg/sys/arm/xscale/i8134x/crb_machdep.c
  projects/release-pkg/sys/arm/xscale/ixp425/avila_machdep.c
  projects/release-pkg/sys/arm/xscale/pxa/pxa_machdep.c
  projects/release-pkg/sys/arm64/arm64/ofw_machdep.c
  projects/release-pkg/sys/arm64/cavium/thunder_pcie_common.h
  projects/release-pkg/sys/arm64/cavium/thunder_pcie_pem.c
  projects/release-pkg/sys/arm64/include/devmap.h
  projects/release-pkg/sys/boot/efi/boot1/Makefile.depend
  projects/release-pkg/sys/boot/fdt/dts/arm/bananapi.dts
  projects/release-pkg/sys/boot/fdt/dts/arm/cubieboard.dts
  projects/release-pkg/sys/boot/fdt/dts/arm/pandaboard-common.dtsi
  projects/release-pkg/sys/boot/fdt/dts/arm/sun4i-a10.dtsi
  projects/release-pkg/sys/boot/fdt/dts/arm/sun7i-a20.dtsi
  projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
  projects/release-pkg/sys/conf/files.arm64
  projects/release-pkg/sys/conf/kern.post.mk
  projects/release-pkg/sys/conf/kmod.mk
  projects/release-pkg/sys/conf/options.arm
  projects/release-pkg/sys/dev/ae/if_ae.c
  projects/release-pkg/sys/dev/ata/chipsets/ata-promise.c
  projects/release-pkg/sys/dev/ata/chipsets/ata-serverworks.c
  projects/release-pkg/sys/dev/filemon/filemon_wrapper.c
  projects/release-pkg/sys/dev/ichsmb/ichsmb_pci.c
  projects/release-pkg/sys/dev/mmc/mmcsd.c
  projects/release-pkg/sys/dev/ofw/openfirm.h
  projects/release-pkg/sys/dev/pci/pci_pci.c
  projects/release-pkg/sys/dev/random/nehemiah.c
  projects/release-pkg/sys/dev/tsec/if_tsec_fdt.c
  projects/release-pkg/sys/dev/uart/uart_cpu_fdt.c
  projects/release-pkg/sys/dev/uart/uart_cpu_powerpc.c
  projects/release-pkg/sys/dev/virtio/block/virtio_blk.c
  projects/release-pkg/sys/dev/vt/hw/ofwfb/ofwfb.c
  projects/release-pkg/sys/fs/nullfs/null_vnops.c
  projects/release-pkg/sys/geom/geom.h
  projects/release-pkg/sys/geom/geom_io.c
  projects/release-pkg/sys/geom/journal/g_journal.c
  projects/release-pkg/sys/geom/mirror/g_mirror.c
  projects/release-pkg/sys/geom/raid/g_raid.c
  projects/release-pkg/sys/geom/raid3/g_raid3.c
  projects/release-pkg/sys/kern/kern_physio.c
  projects/release-pkg/sys/kern/vfs_subr.c
  projects/release-pkg/sys/mips/mips/ofw_machdep.c
  projects/release-pkg/sys/netinet/sctp_asconf.c
  projects/release-pkg/sys/netinet/sctp_bsd_addr.c
  projects/release-pkg/sys/netinet/sctp_input.c
  projects/release-pkg/sys/netinet/sctp_output.c
  projects/release-pkg/sys/netinet/sctp_pcb.c
  projects/release-pkg/sys/netinet/sctp_pcb.h
  projects/release-pkg/sys/netinet/sctp_timer.c
  projects/release-pkg/sys/netinet/sctp_timer.h
  projects/release-pkg/sys/netinet/sctputil.c
  projects/release-pkg/sys/netinet6/in6.c
  projects/release-pkg/sys/netinet6/nd6.h
  projects/release-pkg/sys/netinet6/nd6_nbr.c
  projects/release-pkg/sys/netinet6/nd6_rtr.c
  projects/release-pkg/sys/powerpc/booke/pmap.c
  projects/release-pkg/sys/powerpc/include/pte.h
  projects/release-pkg/sys/powerpc/ofw/ofw_machdep.c
  projects/release-pkg/sys/powerpc/ofw/ofw_syscons.c
  projects/release-pkg/sys/powerpc/ps3/ps3bus.c
  projects/release-pkg/sys/riscv/include/atomic.h
  projects/release-pkg/sys/riscv/include/ucontext.h
  projects/release-pkg/sys/riscv/riscv/swtch.S
  projects/release-pkg/sys/riscv/riscv/vm_machdep.c
  projects/release-pkg/sys/sys/param.h
  projects/release-pkg/sys/sys/sockbuf.h
  projects/release-pkg/sys/sys/socketvar.h
  projects/release-pkg/targets/pseudo/clang/Makefile.depend
  projects/release-pkg/targets/pseudo/userland/lib/Makefile.depend
  projects/release-pkg/tests/sys/Makefile
  projects/release-pkg/tests/sys/pjdfstest/tests/Makefile
  projects/release-pkg/usr.bin/calendar/calendars/calendar.freebsd
  projects/release-pkg/usr.bin/elfcopy/Makefile.depend
  projects/release-pkg/usr.bin/kdump/Makefile.depend
  projects/release-pkg/usr.bin/mail/def.h
  projects/release-pkg/usr.bin/makewhatis/Makefile
  projects/release-pkg/usr.bin/truss/setup.c
  projects/release-pkg/usr.bin/truss/syscall.h
  projects/release-pkg/usr.bin/truss/syscalls.c
  projects/release-pkg/usr.sbin/amd/include/Makefile
  projects/release-pkg/usr.sbin/cron/cron/do_command.c
  projects/release-pkg/usr.sbin/cron/crontab/crontab.c
  projects/release-pkg/usr.sbin/ctld/Makefile.depend
Directory Properties:
  projects/release-pkg/   (props changed)
  projects/release-pkg/cddl/   (props changed)
  projects/release-pkg/contrib/elftoolchain/   (props changed)
  projects/release-pkg/lib/libc/   (props changed)
  projects/release-pkg/sbin/   (props changed)
  projects/release-pkg/share/   (props changed)
  projects/release-pkg/sys/   (props changed)
  projects/release-pkg/sys/boot/   (props changed)
  projects/release-pkg/sys/cddl/contrib/opensolaris/   (props changed)
  projects/release-pkg/sys/conf/   (props changed)
  projects/release-pkg/targets/   (props changed)
  projects/release-pkg/usr.bin/calendar/   (props changed)

Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/Makefile.inc1	Thu Feb 18 00:37:58 2016	(r295734)
@@ -1128,7 +1128,7 @@ distrib-dirs distribution: .MAKE .PHONY
 .if make(distribution)
 	${_+_}cd ${.CURDIR}; ${CROSSENV} PATH=${TMPPATH} \
 		${MAKE} -f Makefile.inc1 ${IMAKE_INSTALL} \
-		METALOG=${METALOG} installconfig
+		METALOG=${METALOG} MK_TESTS=no installconfig
 .endif
 
 #

Modified: projects/release-pkg/bin/sh/tests/Makefile
==============================================================================
--- projects/release-pkg/bin/sh/tests/Makefile	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/bin/sh/tests/Makefile	Thu Feb 18 00:37:58 2016	(r295734)
@@ -14,6 +14,4 @@ TESTS_SUBDIRS+=	parameters
 TESTS_SUBDIRS+=	parser
 TESTS_SUBDIRS+=	set-e
 
-SUBDIR_PARALLEL=
-
 .include <bsd.test.mk>

Modified: projects/release-pkg/cddl/usr.sbin/dtrace/tests/common/Makefile
==============================================================================
--- projects/release-pkg/cddl/usr.sbin/dtrace/tests/common/Makefile	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/cddl/usr.sbin/dtrace/tests/common/Makefile	Thu Feb 18 00:37:58 2016	(r295734)
@@ -86,6 +86,4 @@ TESTS_SUBDIRS+= aggs \
 .PATH:		${.CURDIR:H:H:H:H:H}/tests
 KYUAFILE=	YES
 
-SUBDIR_PARALLEL=
-
 .include <bsd.test.mk>

Modified: projects/release-pkg/contrib/elftoolchain/elfcopy/main.c
==============================================================================
--- projects/release-pkg/contrib/elftoolchain/elfcopy/main.c	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/contrib/elftoolchain/elfcopy/main.c	Thu Feb 18 00:37:58 2016	(r295734)
@@ -641,6 +641,18 @@ create_file(struct elfcopy *ecp, const c
 	 * ELF object before processing.
 	 */
 	if (ecp->itf != ETF_ELF) {
+		/*
+		 * If the output object is not an ELF file, choose an arbitrary
+		 * ELF format for the intermediate file. srec, ihex and binary
+		 * formats are independent of class, endianness and machine
+		 * type so these choices do not affect the output.
+		 */
+		if (ecp->otf != ETF_ELF) {
+			if (ecp->oec == ELFCLASSNONE)
+				ecp->oec = ELFCLASS64;
+			if (ecp->oed == ELFDATANONE)
+				ecp->oed = ELFDATA2LSB;
+		}
 		create_tempfile(&elftemp, &efd);
 		if ((ecp->eout = elf_begin(efd, ELF_C_WRITE, NULL)) == NULL)
 			errx(EXIT_FAILURE, "elf_begin() failed: %s",

Modified: projects/release-pkg/gnu/usr.bin/rcs/doc/rcs.ms
==============================================================================
--- projects/release-pkg/gnu/usr.bin/rcs/doc/rcs.ms	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/gnu/usr.bin/rcs/doc/rcs.ms	Thu Feb 18 00:37:58 2016	(r295734)
@@ -16,7 +16,7 @@
 .R
 ..
 .de Id
-.ND \\$4
+.ND 1 June 1995
 ..
 .Id $FreeBSD$
 .RP

Copied: projects/release-pkg/lib/clang/libllvmdebuginfodwarf/Makefile.depend (from r295733, head/lib/clang/libllvmdebuginfodwarf/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/clang/libllvmdebuginfodwarf/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/clang/libllvmdebuginfodwarf/Makefile.depend)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libc++ \
+	lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Copied: projects/release-pkg/lib/clang/libllvmdebuginfopdb/Makefile.depend (from r295733, head/lib/clang/libllvmdebuginfopdb/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/clang/libllvmdebuginfopdb/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/clang/libllvmdebuginfopdb/Makefile.depend)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libc++ \
+	lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Copied: projects/release-pkg/lib/clang/libllvmlibdriver/Makefile.depend (from r295733, head/lib/clang/libllvmlibdriver/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/clang/libllvmlibdriver/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/clang/libllvmlibdriver/Makefile.depend)
@@ -0,0 +1,18 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libc++ \
+	lib/msun \
+	usr.bin/clang/tblgen.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+LibDriver.o: Options.inc.h
+LibDriver.po: Options.inc.h
+.endif

Copied: projects/release-pkg/lib/clang/libllvmlto/Makefile.depend (from r295733, head/lib/clang/libllvmlto/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/clang/libllvmlto/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/clang/libllvmlto/Makefile.depend)
@@ -0,0 +1,18 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libc++ \
+	lib/msun \
+	usr.bin/clang/tblgen.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+LTOCodeGenerator.o: Intrinsics.inc.h
+LTOCodeGenerator.po: Intrinsics.inc.h
+.endif

Copied: projects/release-pkg/lib/clang/libllvmmirparser/Makefile.depend (from r295733, head/lib/clang/libllvmmirparser/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/clang/libllvmmirparser/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/clang/libllvmmirparser/Makefile.depend)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libc++ \
+	lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Copied: projects/release-pkg/lib/clang/libllvmorcjit/Makefile.depend (from r295733, head/lib/clang/libllvmorcjit/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/clang/libllvmorcjit/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/clang/libllvmorcjit/Makefile.depend)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libc++ \
+	lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Copied: projects/release-pkg/lib/clang/libllvmpasses/Makefile.depend (from r295733, head/lib/clang/libllvmpasses/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/clang/libllvmpasses/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/clang/libllvmpasses/Makefile.depend)
@@ -0,0 +1,18 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+	lib/libc++ \
+	lib/msun \
+	usr.bin/clang/tblgen.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+PassBuilder.o: Intrinsics.inc.h
+PassBuilder.po: Intrinsics.inc.h
+.endif

Modified: projects/release-pkg/lib/libc/tests/Makefile
==============================================================================
--- projects/release-pkg/lib/libc/tests/Makefile	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/lib/libc/tests/Makefile	Thu Feb 18 00:37:58 2016	(r295734)
@@ -26,6 +26,8 @@ TESTS_SUBDIRS+=	termios
 TESTS_SUBDIRS+=	tls
 TESTS_SUBDIRS+=	ttyio
 
+SUBDIR_DEPEND_tls= tls_dso
+
 .if ${MK_LOCALES} != "no"
 TESTS_SUBDIRS+=	locale
 .endif

Copied: projects/release-pkg/lib/libpe/Makefile.depend (from r295733, head/lib/libpe/Makefile.depend)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/lib/libpe/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/lib/libpe/Makefile.depend)
@@ -0,0 +1,13 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+	include \
+	include/xlocale \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif

Modified: projects/release-pkg/libexec/Makefile
==============================================================================
--- projects/release-pkg/libexec/Makefile	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/libexec/Makefile	Thu Feb 18 00:37:58 2016	(r295734)
@@ -10,6 +10,7 @@ SUBDIR=	${_atf} \
 	${_dma} \
 	getty \
 	${_mail.local} \
+	${_makewhatis.local} \
 	${_mknetid} \
 	${_pppoed} \
 	revnetgroup \
@@ -88,6 +89,10 @@ _mail.local=	mail.local
 _smrsh=		smrsh
 .endif
 
+.if ${MK_MAN_UTILS} != "no"
+_makewhatis.local=	makewhatis.local
+.endif
+
 .if ${MK_TALK} != "no"
 SUBDIR+=	talkd
 .endif

Modified: projects/release-pkg/libexec/rtld-elf/tests/Makefile
==============================================================================
--- projects/release-pkg/libexec/rtld-elf/tests/Makefile	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/libexec/rtld-elf/tests/Makefile	Thu Feb 18 00:37:58 2016	(r295734)
@@ -7,6 +7,7 @@ FILESGROUPS=	TESTS
 TESTSPACKAGE=	${PACKAGE}
 SUBDIR+=	libpythagoras target
 
+SUBDIR_DEPEND_target=	libpythagoras
 ATF_TESTS_C=	ld_library_pathfds
 
 .include <bsd.test.mk>

Modified: projects/release-pkg/sbin/kldstat/Makefile.depend
==============================================================================
--- projects/release-pkg/sbin/kldstat/Makefile.depend	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/sbin/kldstat/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734)
@@ -8,6 +8,7 @@ DIRDEPS = \
 	lib/${CSU_DIR} \
 	lib/libc \
 	lib/libcompiler_rt \
+	lib/libutil \
 
 
 .include <dirdeps.mk>

Modified: projects/release-pkg/secure/lib/libssh/Makefile.depend
==============================================================================
--- projects/release-pkg/secure/lib/libssh/Makefile.depend	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/secure/lib/libssh/Makefile.depend	Thu Feb 18 00:37:58 2016	(r295734)
@@ -6,6 +6,7 @@ DIRDEPS = \
 	gnu/lib/libgcc \
 	include \
 	include/arpa \
+	include/gssapi \
 	include/xlocale \
 	lib/${CSU_DIR} \
 	lib/libc \

Modified: projects/release-pkg/share/misc/committers-ports.dot
==============================================================================
--- projects/release-pkg/share/misc/committers-ports.dot	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/misc/committers-ports.dot	Thu Feb 18 00:37:58 2016	(r295734)
@@ -175,6 +175,7 @@ nork [label="Norikatsu Shigemura\nnork@F
 novel [label="Roman Bogorodskiy\nnovel@FreeBSD.org\n2005/03/07"]
 nox [label="Juergen Lock\nnox@FreeBSD.org\n2006/12/22"]
 obrien [label="David E. O'Brien\nobrien@FreeBSD.org\n1996/10/29"]
+olivier [label="Olivier Cochard-Labbe\nolivier@FreeBSD.org\n2016/02/02"]
 olivierd [label="Olivier Duchateau\nolivierd@FreeBSD.org\n2012/05/29"]
 osa [label="Sergey A. Osokin\nosa@FreeBSD.org\n2003/06/04"]
 pat [label="Patrick Li\npat@FreeBSD.org\n2001/11/14"]
@@ -400,6 +401,7 @@ itetcu -> sylvio
 
 jadawin -> bapt
 jadawin -> flo
+jadawin -> olivier
 jadawin -> riggs
 jadawin -> sbz
 jadawin -> wen

Modified: projects/release-pkg/share/mk/bsd.dep.mk
==============================================================================
--- projects/release-pkg/share/mk/bsd.dep.mk	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/mk/bsd.dep.mk	Thu Feb 18 00:37:58 2016	(r295734)
@@ -5,6 +5,11 @@
 #
 # +++ variables +++
 #
+# CLEANDEPENDDIRS	Additional directories to remove for the cleandepend
+# 			target.
+#
+# CLEANDEPENDFILES	Additional files to remove for the cleandepend target.
+#
 # CTAGS		A tags file generation program [gtags]
 #
 # CTAGSFLAGS	Options for ctags(1) [not set]
@@ -27,7 +32,8 @@
 # +++ targets +++
 #
 #	cleandepend:
-#		Remove depend and tags file
+#		remove ${CLEANDEPENDFILES}; remove ${CLEANDEPENDDIRS} and all
+#		contents.
 #
 #	depend:
 #		Make the dependencies for the source files, and store
@@ -59,7 +65,7 @@ DEPENDFILE?=	.depend
 .if ${MK_DIRDEPS_BUILD} == "no"
 .MAKE.DEPENDFILE= ${DEPENDFILE}
 .endif
-DEPENDFILES=	${DEPENDFILE}
+CLEANDEPENDFILES=	${DEPENDFILE} ${DEPENDFILE}.*
 
 # Keep `tags' here, before SRCS are mangled below for `depend'.
 .if !target(tags) && defined(SRCS) && !defined(NO_TAGS)
@@ -156,7 +162,6 @@ ${_D}.po: ${_DSRC} ${POBJS:S/^${_D}.po$/
 
 .if ${MK_FAST_DEPEND} == "yes" && \
     (${.MAKE.MODE:Mmeta} == "" || ${.MAKE.MODE:Mnofilemon} != "")
-DEPENDFILES+=	${DEPENDFILE}.*
 DEPEND_MP?=	-MP
 # Handle OBJS=../somefile.o hacks.  Just replace '/' rather than use :T to
 # avoid collisions.
@@ -205,14 +210,6 @@ depend: beforedepend ${DEPENDFILE} after
 # This could be simpler with bmake :tW but needs to support fmake for MFC.
 _CFLAGS_INCLUDES= ${CFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g}
 _CXXFLAGS_INCLUDES= ${CXXFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g}
-# XXX: Temporary hack to workaround .depend files not tracking -include
-_hdrincludes=${_CFLAGS_INCLUDES:M*.h} ${_CXXFLAGS_INCLUDES:M*.h}
-.for _hdr in ${_hdrincludes:O:u}
-.if exists(${_hdr})
-${OBJS} ${POBJS} ${SOBJS}: ${_hdr}
-.endif
-.endfor
-.undef _hdrincludes
 
 # Different types of sources are compiled with slightly different flags.
 # Split up the sources, and filter out headers and non-applicable flags.
@@ -261,16 +258,20 @@ afterdepend:
 .endif
 .endif
 
-.if !target(cleandepend)
-cleandepend:
-.if defined(SRCS)
 .if ${CTAGS:T} == "gtags"
-	rm -f ${DEPENDFILES} GPATH GRTAGS GSYMS GTAGS
+CLEANDEPENDFILES+=	GPATH GRTAGS GSYMS GTAGS
 .if defined(HTML)
-	rm -rf HTML
+CLEANDEPENDDIRS+=	HTML
 .endif
 .else
-	rm -f ${DEPENDFILES} tags
+CLEANDEPENDFILES+=	tags
+.endif
+.if !target(cleandepend)
+cleandepend:
+.if defined(SRCS)
+	rm -f ${CLEANDEPENDFILES}
+.if !empty(CLEANDEPENDDIRS)
+	rm -rf ${CLEANDEPENDDIRS}
 .endif
 .endif
 .endif

Modified: projects/release-pkg/share/mk/bsd.init.mk
==============================================================================
--- projects/release-pkg/share/mk/bsd.init.mk	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/mk/bsd.init.mk	Thu Feb 18 00:37:58 2016	(r295734)
@@ -15,6 +15,10 @@ __<bsd.init.mk>__:
 .endif
 .include <bsd.own.mk>
 .MAIN: all
+beforebuild: .PHONY .NOTMAIN
+.if !defined(_SKIP_BUILD)
+all: beforebuild .WAIT
+.endif
 
 .if ${.MAKE.LEVEL:U1} == 0 && ${BUILD_AT_LEVEL0:Uyes:tl} == "no" && !make(clean*)
 # this tells lib.mk and prog.mk to not actually build anything

Modified: projects/release-pkg/share/mk/bsd.lib.mk
==============================================================================
--- projects/release-pkg/share/mk/bsd.lib.mk	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/mk/bsd.lib.mk	Thu Feb 18 00:37:58 2016	(r295734)
@@ -139,11 +139,6 @@ PO_FLAG=-pg
 	    -c ${.IMPSRC} -o ${.TARGET}
 	${CTFCONVERT_CMD}
 
-.if !defined(_SKIP_BUILD)
-all: beforebuild .WAIT
-beforebuild: objwarn
-.endif
-
 _LIBDIR:=${LIBDIR}
 _SHLIBDIR:=${SHLIBDIR}
 

Modified: projects/release-pkg/share/mk/bsd.obj.mk
==============================================================================
--- projects/release-pkg/share/mk/bsd.obj.mk	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/mk/bsd.obj.mk	Thu Feb 18 00:37:58 2016	(r295734)
@@ -89,6 +89,7 @@ objwarn:
 		canonical ${CANONICALOBJDIR}"
 .endif
 .endif
+beforebuild: objwarn
 
 .if !defined(NO_OBJ)
 .if !target(obj)

Modified: projects/release-pkg/share/mk/bsd.prog.mk
==============================================================================
--- projects/release-pkg/share/mk/bsd.prog.mk	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/mk/bsd.prog.mk	Thu Feb 18 00:37:58 2016	(r295734)
@@ -155,8 +155,7 @@ MAN1=	${MAN}
 .if defined(_SKIP_BUILD)
 all:
 .else
-all: beforebuild .WAIT ${PROG} ${SCRIPTS}
-beforebuild: objwarn
+all: ${PROG} ${SCRIPTS}
 .if ${MK_MAN} != "no"
 all: _manpages
 .endif

Modified: projects/release-pkg/share/mk/bsd.subdir.mk
==============================================================================
--- projects/release-pkg/share/mk/bsd.subdir.mk	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/mk/bsd.subdir.mk	Thu Feb 18 00:37:58 2016	(r295734)
@@ -89,6 +89,7 @@ ${__stage}install:
 install:	beforeinstall realinstall afterinstall
 .ORDER:		beforeinstall realinstall afterinstall
 .endif
+.ORDER: all install
 
 # SUBDIR recursing may be disabled for MK_DIRDEPS_BUILD
 .if !target(_SUBDIR)

Modified: projects/release-pkg/share/mk/bsd.test.mk
==============================================================================
--- projects/release-pkg/share/mk/bsd.test.mk	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/share/mk/bsd.test.mk	Thu Feb 18 00:37:58 2016	(r295734)
@@ -69,6 +69,7 @@ _TESTS=
 SUBDIR+= ${ts}
 .endif
 .endfor
+SUBDIR_PARALLEL= t
 .endif
 
 # it is rare for test cases to have man pages

Modified: projects/release-pkg/sys/arm/allwinner/a10_ahci.c
==============================================================================
--- projects/release-pkg/sys/arm/allwinner/a10_ahci.c	Thu Feb 18 00:26:21 2016	(r295733)
+++ projects/release-pkg/sys/arm/allwinner/a10_ahci.c	Thu Feb 18 00:37:58 2016	(r295734)
@@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$");
 #include <sys/rman.h>
 #include <sys/kernel.h>
 #include <sys/module.h>
-#include <sys/gpio.h>
 
 #include <machine/bus.h>
 #include <dev/ofw/ofw_bus.h> 
@@ -49,7 +48,6 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/ahci/ahci.h>
 #include <arm/allwinner/a10_clk.h>
-#include "gpio_if.h"
 
 /*
  * Allwinner a1x/a2x/a8x SATA attachment.  This is just the AHCI register
@@ -119,9 +117,6 @@ __FBSDID("$FreeBSD$");
 #define	AHCI_P0PHYCR	0x0078
 #define	AHCI_P0PHYSR	0x007C
 
-/* Kludge for CUBIEBOARD (and Banana PI too) */
-#define	GPIO_AHCI_PWR           40
-
 static void inline
 ahci_set(struct resource *m, bus_size_t off, uint32_t set)
 {
@@ -298,7 +293,6 @@ ahci_a10_probe(device_t dev)
 static int
 ahci_a10_attach(device_t dev)
 {
-	device_t gpio;
 	int error;
 	struct ahci_controller *ctlr;
 
@@ -316,19 +310,6 @@ ahci_a10_attach(device_t dev)
 	/* Turn on the PLL for SATA */
 	a10_clk_ahci_activate();
 
-	/* Apply power to the drive, if any */
-	gpio = devclass_get_device(devclass_find("gpio"), 0);
-	if (gpio == NULL) {
-		device_printf(dev,
-		    "GPIO device not yet present (SATA won't work).\n");
-		bus_release_resource(dev, SYS_RES_MEMORY, ctlr->r_rid,
-		    ctlr->r_mem);
-		return (ENXIO);
-	}
-	GPIO_PIN_SETFLAGS(gpio, GPIO_AHCI_PWR, GPIO_PIN_OUTPUT);
-	GPIO_PIN_SET(gpio, GPIO_AHCI_PWR, GPIO_PIN_HIGH);
-	DELAY(10000);
-
 	/* Reset controller */
 	if ((error = ahci_a10_ctlr_reset(dev)) != 0) {
 		bus_release_resource(dev, SYS_RES_MEMORY, ctlr->r_rid,

Copied: projects/release-pkg/sys/arm/allwinner/a10_codec.c (from r295733, head/sys/arm/allwinner/a10_codec.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/release-pkg/sys/arm/allwinner/a10_codec.c	Thu Feb 18 00:37:58 2016	(r295734, copy of r295733, head/sys/arm/allwinner/a10_codec.c)
@@ -0,0 +1,850 @@
+/*-
+ * Copyright (c) 2014-2016 Jared D. McNeill <jmcneill@invisible.ca>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+/*
+ * Allwinner A10/A20 Audio Codec
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/bus.h>
+#include <sys/rman.h>
+#include <sys/condvar.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/gpio.h>
+
+#include <machine/bus.h>
+
+#include <dev/sound/pcm/sound.h>
+#include <dev/sound/chip.h>
+
+#include <dev/ofw/ofw_bus.h>
+#include <dev/ofw/ofw_bus_subr.h>
+
+#include <arm/allwinner/a10_clk.h>
+
+#include "sunxi_dma_if.h"
+#include "mixer_if.h"
+#include "gpio_if.h"
+
+#define	TX_TRIG_LEVEL	0xf
+#define	RX_TRIG_LEVEL	0x7
+#define	DRQ_CLR_CNT	0x3
+
+#define	AC_DAC_DPC	0x00
+#define	 DAC_DPC_EN_DA			0x80000000
+#define	AC_DAC_FIFOC	0x04
+#define	 DAC_FIFOC_FS_SHIFT		29
+#define	 DAC_FIFOC_FS_MASK		(7U << DAC_FIFOC_FS_SHIFT)
+#define	  DAC_FS_48KHZ			0
+#define	  DAC_FS_32KHZ			1
+#define	  DAC_FS_24KHZ			2
+#define	  DAC_FS_16KHZ			3
+#define	  DAC_FS_12KHZ			4
+#define	  DAC_FS_8KHZ			5
+#define	  DAC_FS_192KHZ			6
+#define	  DAC_FS_96KHZ			7
+#define	 DAC_FIFOC_FIFO_MODE_SHIFT	24
+#define	 DAC_FIFOC_FIFO_MODE_MASK	(3U << DAC_FIFOC_FIFO_MODE_SHIFT)
+#define	  FIFO_MODE_24_31_8		0
+#define	  FIFO_MODE_16_31_16		0
+#define	  FIFO_MODE_16_15_0		1
+#define	 DAC_FIFOC_DRQ_CLR_CNT_SHIFT	21
+#define	 DAC_FIFOC_DRQ_CLR_CNT_MASK	(3U << DAC_FIFOC_DRQ_CLR_CNT_SHIFT)
+#define	 DAC_FIFOC_TX_TRIG_LEVEL_SHIFT	8
+#define	 DAC_FIFOC_TX_TRIG_LEVEL_MASK	(0x7f << DAC_FIFOC_TX_TRIG_LEVEL_SHIFT)
+#define	 DAC_FIFOC_MONO_EN		(1U << 6)
+#define	 DAC_FIFOC_TX_BITS		(1U << 5)
+#define	 DAC_FIFOC_DRQ_EN		(1U << 4)
+#define	 DAC_FIFOC_FIFO_FLUSH		(1U << 0)
+#define	AC_DAC_FIFOS	0x08
+#define	AC_DAC_TXDATA	0x0c
+#define	AC_DAC_ACTL	0x10
+#define	 DAC_ACTL_DACAREN		(1U << 31)
+#define	 DAC_ACTL_DACALEN		(1U << 30)
+#define	 DAC_ACTL_MIXEN			(1U << 29)
+#define	 DAC_ACTL_DACPAS		(1U << 8)
+#define	 DAC_ACTL_PAMUTE		(1U << 6)
+#define	 DAC_ACTL_PAVOL_SHIFT		0
+#define	 DAC_ACTL_PAVOL_MASK		(0x3f << DAC_ACTL_PAVOL_SHIFT)
+#define	AC_ADC_FIFOC	0x1c
+#define	 ADC_FIFOC_FS_SHIFT		29
+#define	 ADC_FIFOC_FS_MASK		(7U << ADC_FIFOC_FS_SHIFT)
+#define	  ADC_FS_48KHZ		0
+#define	 ADC_FIFOC_EN_AD		(1U << 28)
+#define	 ADC_FIFOC_RX_FIFO_MODE		(1U << 24)
+#define	 ADC_FIFOC_RX_TRIG_LEVEL_SHIFT	8
+#define	 ADC_FIFOC_RX_TRIG_LEVEL_MASK	(0x1f << ADC_FIFOC_RX_TRIG_LEVEL_SHIFT)
+#define	 ADC_FIFOC_MONO_EN		(1U << 7)
+#define	 ADC_FIFOC_RX_BITS		(1U << 6)
+#define	 ADC_FIFOC_DRQ_EN		(1U << 4)
+#define	 ADC_FIFOC_FIFO_FLUSH		(1U << 1)
+#define	AC_ADC_FIFOS	0x20
+#define	AC_ADC_RXDATA	0x24
+#define	AC_ADC_ACTL	0x28
+#define	 ADC_ACTL_ADCREN		(1U << 31)
+#define	 ADC_ACTL_ADCLEN		(1U << 30)
+#define	 ADC_ACTL_PREG1EN		(1U << 29)
+#define	 ADC_ACTL_PREG2EN		(1U << 28)
+#define	 ADC_ACTL_VMICEN		(1U << 27)
+#define	 ADC_ACTL_ADCG_SHIFT		20
+#define	 ADC_ACTL_ADCG_MASK		(7U << ADC_ACTL_ADCG_SHIFT)
+#define	 ADC_ACTL_ADCIS_SHIFT		17
+#define	 ADC_ACTL_ADCIS_MASK		(7U << ADC_ACTL_ADCIS_SHIFT)
+#define	  ADC_IS_LINEIN			0
+#define	  ADC_IS_FMIN			1
+#define	  ADC_IS_MIC1			2
+#define	  ADC_IS_MIC2			3
+#define	  ADC_IS_MIC1_L_MIC2_R		4
+#define	  ADC_IS_MIC1_LR_MIC2_LR	5
+#define	  ADC_IS_OMIX			6
+#define	  ADC_IS_LINEIN_L_MIC1_R	7
+#define	 ADC_ACTL_LNRDF			(1U << 16)
+#define	 ADC_ACTL_LNPREG_SHIFT		13
+#define	 ADC_ACTL_LNPREG_MASK		(7U << ADC_ACTL_LNPREG_SHIFT)
+#define	 ADC_ACTL_PA_EN			(1U << 4)
+#define	 ADC_ACTL_DDE			(1U << 3)
+#define	AC_DAC_CNT	0x30
+#define	AC_ADC_CNT	0x34
+
+static uint32_t a10codec_fmt[] = {
+	SND_FORMAT(AFMT_S16_LE, 1, 0),
+	SND_FORMAT(AFMT_S16_LE, 2, 0),
+	0
+};
+
+static struct pcmchan_caps a10codec_pcaps = { 8000, 192000, a10codec_fmt, 0 };
+static struct pcmchan_caps a10codec_rcaps = { 8000, 48000, a10codec_fmt, 0 };
+
+struct a10codec_info;
+
+struct a10codec_chinfo {
+	struct snd_dbuf		*buffer;
+	struct pcm_channel	*channel;	
+	struct a10codec_info	*parent;
+	bus_dmamap_t		dmamap;
+	void			*dmaaddr;
+	bus_addr_t		physaddr;
+	bus_size_t		fifo;
+	device_t		dmac;
+	void			*dmachan;
+
+	int			dir;
+	int			run;
+	uint32_t		pos;
+	uint32_t		format;
+	uint32_t		blocksize;
+	uint32_t		speed;
+};
+
+struct a10codec_info {
+	device_t		dev;
+	struct resource		*res[2];
+	struct mtx		*lock;
+	bus_dma_tag_t		dmat;
+	unsigned		dmasize;
+	void			*ih;
+
+	unsigned		drqtype_codec;
+	unsigned		drqtype_sdram;
+
+	struct a10codec_chinfo	play;
+	struct a10codec_chinfo	rec;
+};
+
+static struct resource_spec a10codec_spec[] = {
+	{ SYS_RES_MEMORY,	0,	RF_ACTIVE },
+	{ SYS_RES_IRQ,		0,	RF_ACTIVE },
+	{ -1, 0 }
+};
+
+#define	CODEC_READ(sc, reg)		bus_read_4((sc)->res[0], (reg))
+#define	CODEC_WRITE(sc, reg, val)	bus_write_4((sc)->res[0], (reg), (val))
+
+/*
+ * Mixer interface
+ */
+
+static int
+a10codec_mixer_init(struct snd_mixer *m)
+{
+	struct a10codec_info *sc = mix_getdevinfo(m);
+	pcell_t prop[4];
+	phandle_t node;
+	device_t gpio;
+	uint32_t val;
+	ssize_t len;
+	int pin;
+
+	mix_setdevs(m, SOUND_MASK_VOLUME | SOUND_MASK_LINE | SOUND_MASK_RECLEV);
+	mix_setrecdevs(m, SOUND_MASK_LINE | SOUND_MASK_LINE1 | SOUND_MASK_MIC);
+
+	/* Unmute input source to PA */
+	val = CODEC_READ(sc, AC_DAC_ACTL);
+	val |= DAC_ACTL_PAMUTE;
+	CODEC_WRITE(sc, AC_DAC_ACTL, val);
+
+	/* Enable PA */
+	val = CODEC_READ(sc, AC_ADC_ACTL);
+	val |= ADC_ACTL_PA_EN;
+	CODEC_WRITE(sc, AC_ADC_ACTL, val);
+
+	/* Unmute PA */
+	node = ofw_bus_get_node(sc->dev);
+	len = OF_getencprop(node, "allwinner,pa-gpios", prop, sizeof(prop));
+	if (len > 0 && (len / sizeof(prop[0])) == 4) {
+		gpio = OF_device_from_xref(prop[0]);
+		if (gpio != NULL) {
+			pin = prop[1] * 32 + prop[2];
+			GPIO_PIN_SETFLAGS(gpio, pin, GPIO_PIN_OUTPUT);
+			GPIO_PIN_SET(gpio, pin, GPIO_PIN_LOW);
+		}
+	}
+
+	return (0);
+}
+
+static const struct a10codec_mixer {
+	unsigned reg;
+	unsigned mask;
+	unsigned shift;
+} a10codec_mixers[SOUND_MIXER_NRDEVICES] = {
+	[SOUND_MIXER_VOLUME]	= { AC_DAC_ACTL, DAC_ACTL_PAVOL_MASK,
+				    DAC_ACTL_PAVOL_SHIFT },
+	[SOUND_MIXER_LINE]	= { AC_ADC_ACTL, ADC_ACTL_LNPREG_MASK,
+				    ADC_ACTL_LNPREG_SHIFT },
+	[SOUND_MIXER_RECLEV]	= { AC_ADC_ACTL, ADC_ACTL_ADCG_MASK,
+				    ADC_ACTL_ADCG_SHIFT },
+}; 
+
+static int
+a10codec_mixer_set(struct snd_mixer *m, unsigned dev, unsigned left,
+    unsigned right)
+{
+	struct a10codec_info *sc = mix_getdevinfo(m);
+	uint32_t val;
+	unsigned nvol, max;
+
+	max = a10codec_mixers[dev].mask >> a10codec_mixers[dev].shift;
+	nvol = (left * max) / 100;
+
+	val = CODEC_READ(sc, a10codec_mixers[dev].reg);
+	val &= ~a10codec_mixers[dev].mask;
+	val |= (nvol << a10codec_mixers[dev].shift);
+	CODEC_WRITE(sc, a10codec_mixers[dev].reg, val);
+
+	left = right = (left * 100) / max;
+	return (left | (right << 8));
+}
+
+static uint32_t
+a10codec_mixer_setrecsrc(struct snd_mixer *m, uint32_t src)
+{
+	struct a10codec_info *sc = mix_getdevinfo(m);
+	uint32_t val;
+
+	val = CODEC_READ(sc, AC_ADC_ACTL);
+
+	switch (src) {
+	case SOUND_MASK_LINE:	/* line-in */
+		val &= ~ADC_ACTL_ADCIS_MASK;
+		val |= (ADC_IS_LINEIN << ADC_ACTL_ADCIS_SHIFT);
+		break;
+	case SOUND_MASK_MIC:	/* MIC1 */
+		val &= ~ADC_ACTL_ADCIS_MASK;
+		val |= (ADC_IS_MIC1 << ADC_ACTL_ADCIS_SHIFT);
+		break;
+	case SOUND_MASK_LINE1:	/* MIC2 */
+		val &= ~ADC_ACTL_ADCIS_MASK;
+		val |= (ADC_IS_MIC2 << ADC_ACTL_ADCIS_SHIFT);
+		break;
+	default:
+		break;
+	}
+
+	CODEC_WRITE(sc, AC_ADC_ACTL, val);
+
+	switch ((val & ADC_ACTL_ADCIS_MASK) >> ADC_ACTL_ADCIS_SHIFT) {
+	case ADC_IS_LINEIN:
+		return (SOUND_MASK_LINE);
+	case ADC_IS_MIC1:
+		return (SOUND_MASK_MIC);
+	case ADC_IS_MIC2:
+		return (SOUND_MASK_LINE1);
+	default:
+		return (0);
+	}
+}
+
+static kobj_method_t a10codec_mixer_methods[] = {
+	KOBJMETHOD(mixer_init,		a10codec_mixer_init),
+	KOBJMETHOD(mixer_set,		a10codec_mixer_set),
+	KOBJMETHOD(mixer_setrecsrc,	a10codec_mixer_setrecsrc),
+	KOBJMETHOD_END
+};
+MIXER_DECLARE(a10codec_mixer);
+
+
+/*
+ * Channel interface
+ */
+
+static void
+a10codec_dmamap_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error)
+{
+	struct a10codec_chinfo *ch = arg;
+
+	if (error != 0)
+		return;
+
+	ch->physaddr = segs[0].ds_addr;
+}
+
+static void
+a10codec_transfer(struct a10codec_chinfo *ch)
+{
+	bus_addr_t src, dst;
+	int error;
+
+	if (ch->dir == PCMDIR_PLAY) {
+		src = ch->physaddr + ch->pos;
+		dst = ch->fifo;
+	} else {
+		src = ch->fifo;
+		dst = ch->physaddr + ch->pos;
+	}
+
+	error = SUNXI_DMA_TRANSFER(ch->dmac, ch->dmachan, src, dst,
+	    ch->blocksize);
+	if (error) {
+		ch->run = 0;
+		device_printf(ch->parent->dev, "DMA transfer failed: %d\n",
+		    error);
+	}
+}
+
+static void
+a10codec_dmaconfig(struct a10codec_chinfo *ch)
+{
+	struct a10codec_info *sc = ch->parent;
+	struct sunxi_dma_config conf;
+
+	memset(&conf, 0, sizeof(conf));
+	conf.src_width = conf.dst_width = 16;
+	conf.src_burst_len = conf.dst_burst_len = 4;
+
+	if (ch->dir == PCMDIR_PLAY) {
+		conf.dst_noincr = true;
+		conf.src_drqtype = sc->drqtype_sdram;
+		conf.dst_drqtype = sc->drqtype_codec;
+	} else {
+		conf.src_noincr = true;
+		conf.src_drqtype = sc->drqtype_codec;
+		conf.dst_drqtype = sc->drqtype_sdram;
+	}
+
+	SUNXI_DMA_SET_CONFIG(ch->dmac, ch->dmachan, &conf);
+}
+
+static void
+a10codec_dmaintr(void *priv)
+{
+	struct a10codec_chinfo *ch = priv;
+	unsigned bufsize;
+
+	bufsize = sndbuf_getsize(ch->buffer);
+
+	ch->pos += ch->blocksize;
+	if (ch->pos >= bufsize)
+		ch->pos -= bufsize;
+
+	if (ch->run) {
+		chn_intr(ch->channel);
+		a10codec_transfer(ch);
+	}
+}
+
+static unsigned
+a10codec_fs(struct a10codec_chinfo *ch)
+{
+	switch (ch->speed) {
+	case 48000:
+		return (DAC_FS_48KHZ);
+	case 24000:
+		return (DAC_FS_24KHZ);
+	case 12000:
+		return (DAC_FS_12KHZ);
+	case 192000:
+		return (DAC_FS_192KHZ);
+	case 32000:
+		return (DAC_FS_32KHZ);
+	case 16000:
+		return (DAC_FS_16KHZ);
+	case 8000:
+		return (DAC_FS_8KHZ);
+	case 96000:
+		return (DAC_FS_96KHZ);
+	default:
+		return (DAC_FS_48KHZ);
+	}
+}
+
+static void
+a10codec_start(struct a10codec_chinfo *ch)
+{
+	struct a10codec_info *sc = ch->parent;
+	uint32_t val;
+
+	ch->pos = 0;
+
+	if (ch->dir == PCMDIR_PLAY) {
+		/* Flush DAC FIFO */
+		CODEC_WRITE(sc, AC_DAC_FIFOC, DAC_FIFOC_FIFO_FLUSH);
+
+		/* Clear DAC FIFO status */
+		CODEC_WRITE(sc, AC_DAC_FIFOS, CODEC_READ(sc, AC_DAC_FIFOS));
+
+		/* Enable DAC analog left/right channels and output mixer */
+		val = CODEC_READ(sc, AC_DAC_ACTL);
+		val |= DAC_ACTL_DACAREN;
+		val |= DAC_ACTL_DACALEN;
+		val |= DAC_ACTL_DACPAS;
+		CODEC_WRITE(sc, AC_DAC_ACTL, val);
+
+		/* Configure DAC DMA channel */
+		a10codec_dmaconfig(ch);
+
+		/* Configure DAC FIFO */
+		CODEC_WRITE(sc, AC_DAC_FIFOC,
+		    (AFMT_CHANNEL(ch->format) == 1 ? DAC_FIFOC_MONO_EN : 0) |
+		    (a10codec_fs(ch) << DAC_FIFOC_FS_SHIFT) |
+		    (FIFO_MODE_16_15_0 << DAC_FIFOC_FIFO_MODE_SHIFT) |
+		    (DRQ_CLR_CNT << DAC_FIFOC_DRQ_CLR_CNT_SHIFT) |
+		    (TX_TRIG_LEVEL << DAC_FIFOC_TX_TRIG_LEVEL_SHIFT));
+
+		/* Enable DAC DRQ */
+		val = CODEC_READ(sc, AC_DAC_FIFOC);
+		val |= DAC_FIFOC_DRQ_EN;
+		CODEC_WRITE(sc, AC_DAC_FIFOC, val);
+	} else {
+		/* Flush ADC FIFO */
+		CODEC_WRITE(sc, AC_ADC_FIFOC, ADC_FIFOC_FIFO_FLUSH);
+
+		/* Clear ADC FIFO status */
+		CODEC_WRITE(sc, AC_ADC_FIFOS, CODEC_READ(sc, AC_ADC_FIFOS));
+
+		/* Enable ADC analog left/right channels, MIC1 preamp,
+		 * and VMIC pin voltage
+		 */
+		val = CODEC_READ(sc, AC_ADC_ACTL);
+		val |= ADC_ACTL_ADCREN;
+		val |= ADC_ACTL_ADCLEN;
+		val |= ADC_ACTL_PREG1EN;
+		val |= ADC_ACTL_VMICEN;
+		CODEC_WRITE(sc, AC_ADC_ACTL, val);
+
+		/* Configure ADC DMA channel */
+		a10codec_dmaconfig(ch);
+
+		/* Configure ADC FIFO */
+		CODEC_WRITE(sc, AC_ADC_FIFOC,
+		    ADC_FIFOC_EN_AD |
+		    ADC_FIFOC_RX_FIFO_MODE |
+		    (AFMT_CHANNEL(ch->format) == 1 ? ADC_FIFOC_MONO_EN : 0) |
+		    (a10codec_fs(ch) << ADC_FIFOC_FS_SHIFT) |
+		    (RX_TRIG_LEVEL << ADC_FIFOC_RX_TRIG_LEVEL_SHIFT));
+
+		/* Enable ADC DRQ */
+		val = CODEC_READ(sc, AC_ADC_FIFOC);
+		val |= ADC_FIFOC_DRQ_EN;
+		CODEC_WRITE(sc, AC_ADC_FIFOC, val);
+	}
+
+	/* Start DMA transfer */
+	a10codec_transfer(ch);
+}
+
+static void
+a10codec_stop(struct a10codec_chinfo *ch)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602180037.u1I0bxad032053>