svn commit: r305809 - in projects/mips64-clang: . etc/mtree include lib/libstand release/arm share/man/man9 share/mk sys/amd64/amd64 sys/arm/conf sys/arm/ti sys/arm64/arm64 sys/arm64/include sys/bo...
Sean Bruno
sbruno at FreeBSD.org
Wed Sep 14 14:05:35 UTC 2016
Author: sbruno
Date: Wed Sep 14 14:05:31 2016
New Revision: 305809
URL: https://svnweb.freebsd.org/changeset/base/305809
Log:
MFC 305808
Added:
projects/mips64-clang/sys/dev/evdev/
- copied from r305808, head/sys/dev/evdev/
Deleted:
projects/mips64-clang/sys/arm/conf/CUBIEBOARD
Modified:
projects/mips64-clang/ObsoleteFiles.inc
projects/mips64-clang/etc/mtree/BSD.include.dist
projects/mips64-clang/include/Makefile
projects/mips64-clang/lib/libstand/net.h
projects/mips64-clang/release/arm/CUBIEBOARD.conf
projects/mips64-clang/share/man/man9/device_quiet.9
projects/mips64-clang/share/mk/meta.sys.mk
projects/mips64-clang/sys/amd64/amd64/trap.c
projects/mips64-clang/sys/arm/conf/BEAGLEBONE
projects/mips64-clang/sys/arm/ti/ti_adc.c
projects/mips64-clang/sys/arm/ti/ti_adcreg.h
projects/mips64-clang/sys/arm/ti/ti_adcvar.h
projects/mips64-clang/sys/arm/ti/ti_cpuid.c
projects/mips64-clang/sys/arm64/arm64/db_trace.c
projects/mips64-clang/sys/arm64/arm64/debug_monitor.c
projects/mips64-clang/sys/arm64/arm64/identcpu.c
projects/mips64-clang/sys/arm64/include/debug_monitor.h
projects/mips64-clang/sys/boot/common/dev_net.c
projects/mips64-clang/sys/boot/kshim/bsd_kernel.c
projects/mips64-clang/sys/boot/kshim/bsd_kernel.h
projects/mips64-clang/sys/conf/NOTES
projects/mips64-clang/sys/conf/files
projects/mips64-clang/sys/conf/files.arm64
projects/mips64-clang/sys/conf/options
projects/mips64-clang/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
projects/mips64-clang/sys/dev/ath/if_ath_tx.c
projects/mips64-clang/sys/dev/ath/if_ath_tx_edma.c
projects/mips64-clang/sys/dev/cxgbe/adapter.h
projects/mips64-clang/sys/dev/cxgbe/common/t4_hw.c
projects/mips64-clang/sys/dev/cxgbe/firmware/t4fw_interface.h
projects/mips64-clang/sys/dev/cxgbe/t4_iov.c
projects/mips64-clang/sys/dev/cxgbe/t4_main.c
projects/mips64-clang/sys/dev/hyperv/netvsc/hv_net_vsc.c
projects/mips64-clang/sys/dev/hyperv/netvsc/hv_net_vsc.h
projects/mips64-clang/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
projects/mips64-clang/sys/dev/hyperv/netvsc/hv_rndis_filter.c
projects/mips64-clang/sys/dev/hyperv/netvsc/hv_rndis_filter.h
projects/mips64-clang/sys/dev/hyperv/netvsc/if_hnvar.h
projects/mips64-clang/sys/dev/hyperv/vmbus/vmbus_chan.c
projects/mips64-clang/sys/dev/ioat/ioat.c
projects/mips64-clang/sys/dev/urtwn/if_urtwn.c
projects/mips64-clang/sys/dev/usb/input/ukbd.c
projects/mips64-clang/sys/dev/usb/quirk/usb_quirk.c
projects/mips64-clang/sys/dev/usb/serial/usb_serial.c
projects/mips64-clang/sys/dev/usb/serial/usb_serial.h
projects/mips64-clang/sys/dev/usb/storage/umass.c
projects/mips64-clang/sys/dev/usb/usb_busdma.c
projects/mips64-clang/sys/dev/usb/usb_core.c
projects/mips64-clang/sys/dev/usb/usb_core.h
projects/mips64-clang/sys/dev/usb/usb_dev.c
projects/mips64-clang/sys/dev/usb/usb_device.c
projects/mips64-clang/sys/dev/usb/usb_freebsd.h
projects/mips64-clang/sys/dev/usb/usb_freebsd_loader.h
projects/mips64-clang/sys/dev/usb/usb_generic.c
projects/mips64-clang/sys/dev/usb/usb_hub.c
projects/mips64-clang/sys/dev/usb/usb_msctest.c
projects/mips64-clang/sys/dev/usb/usb_process.c
projects/mips64-clang/sys/dev/usb/usb_request.c
projects/mips64-clang/sys/dev/usb/usb_transfer.c
projects/mips64-clang/sys/dev/usb/usbdi.h
projects/mips64-clang/sys/i386/i386/db_trace.c
projects/mips64-clang/sys/i386/i386/trap.c
projects/mips64-clang/sys/kern/kern_descrip.c
projects/mips64-clang/sys/kern/subr_bus.c
projects/mips64-clang/sys/mips/malta/asm_malta.S
projects/mips64-clang/sys/mips/malta/malta_mp.c
projects/mips64-clang/sys/mips/mips/locore.S
projects/mips64-clang/sys/net80211/ieee80211_adhoc.c
projects/mips64-clang/sys/net80211/ieee80211_hostap.c
projects/mips64-clang/sys/netpfil/ipfw/ip_fw_table.c
projects/mips64-clang/sys/sys/filedesc.h
projects/mips64-clang/sys/x86/include/frame.h
projects/mips64-clang/sys/x86/x86/identcpu.c
projects/mips64-clang/sys/x86/x86/intr_machdep.c
projects/mips64-clang/usr.bin/bsdiff/bspatch/bspatch.c
projects/mips64-clang/usr.sbin/amd/amd/Makefile
projects/mips64-clang/usr.sbin/amd/amq/Makefile
projects/mips64-clang/usr.sbin/amd/fixmount/Makefile
projects/mips64-clang/usr.sbin/amd/fsinfo/Makefile
projects/mips64-clang/usr.sbin/amd/hlfsd/Makefile
projects/mips64-clang/usr.sbin/amd/include/Makefile
projects/mips64-clang/usr.sbin/amd/libamu/Makefile
projects/mips64-clang/usr.sbin/amd/mk-amd-map/Makefile
projects/mips64-clang/usr.sbin/amd/pawd/Makefile
projects/mips64-clang/usr.sbin/amd/scripts/Makefile
projects/mips64-clang/usr.sbin/amd/wire-test/Makefile
projects/mips64-clang/usr.sbin/autofs/automountd.c
projects/mips64-clang/usr.sbin/autofs/autounmountd.c
projects/mips64-clang/usr.sbin/autofs/defined.c
projects/mips64-clang/usr.sbin/pw/pw.8
projects/mips64-clang/usr.sbin/syslogd/syslogd.c
Directory Properties:
projects/mips64-clang/ (props changed)
Modified: projects/mips64-clang/ObsoleteFiles.inc
==============================================================================
--- projects/mips64-clang/ObsoleteFiles.inc Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/ObsoleteFiles.inc Wed Sep 14 14:05:31 2016 (r305809)
@@ -41,6 +41,8 @@
# 20160906: libkqueue tests moved to /usr/tests/sys/kqueue/libkqueue
OLD_FILES+=usr/tests/sys/kqueue/kqtest
OLD_FILES+=usr/tests/sys/kqueue/kqueue_test
+# 20160903: idle page zeroing support removed
+OLD_FILES+=usr/share/man/man9/pmap_zero_idle.9.gz
# 20160901: Remove digi(4)
OLD_FILES+=usr/share/man/man4/digi.4.gz
# 20160819: Remove ie(4)
@@ -59,6 +61,8 @@ OLD_FILES+=usr/share/man/man8/sicontrol.
OLD_FILES+=usr/share/man/man4/scd.4.gz
# 20160815: Remove mcd(4)
OLD_FILES+=usr/share/man/man4/mcd.4.gz
+# 20160805: lockmgr_waiters(9) removed
+OLD_FILES+=usr/share/man/man9/lockmgr_waiters.9.gz
# 20160703: POSIXify locales with variants
OLD_FILES+=usr/share/locale/zh_Hant_TW.UTF-8/LC_COLLATE
OLD_FILES+=usr/share/locale/zh_Hant_TW.UTF-8/LC_CTYPE
@@ -213,18 +217,23 @@ OLD_LIBS+=usr/lib32/pam_unix.so.5
OLD_FILES+=usr/include/altq/altq_codel.h
OLD_FILES+=usr/include/altq/altq_fairq.h
# 20160519: remove DTrace Toolkit from base
+OLD_FILES+=usr/sbin/dtruss
OLD_FILES+=usr/share/dtrace/toolkit/execsnoop
OLD_FILES+=usr/share/dtrace/toolkit/hotkernel
OLD_FILES+=usr/share/dtrace/toolkit/hotuser
OLD_FILES+=usr/share/dtrace/toolkit/opensnoop
OLD_FILES+=usr/share/dtrace/toolkit/procsystime
OLD_DIRS+=usr/share/dtrace/toolkit
+OLD_FILES+=usr/share/man/man1/dtruss.1.gz
# 20160519: stale MLINK removed
OLD_FILES+=usr/share/man/man9/rman_await_resource.9.gz
# 20160517: ReiserFS removed
OLD_FILES+=usr/share/man/man5/reiserfs.5.gz
+# 20160504: tests rework
+OLD_FILES+=usr/tests/lib/libc/regex/data/README
# 20160430: kvm_getfiles(3) removed from kvm(3)
OLD_LIBS+=lib/libkvm.so.6
+OLD_LIBS+=usr/lib32/libkvm.so.6
OLD_FILES+=usr/share/man/man3/kvm_getfiles.3.gz
# 20160423: remove mroute6d
OLD_FILES+=etc/rc.d/mroute6d
@@ -372,12 +381,18 @@ OLD_LIBS+=usr/lib32/libcapsicum.so.0
OLD_FILES+=usr/lib32/libcapsicum_p.a
# 20160223: functionality from mkulzma(1) merged into mkuzip(1)
OLD_FILES+=usr/bin/mkulzma
+OLD_FILES+=usr/share/man/man4/geom_uncompress.4.gz
+OLD_FILES+=usr/share/man/man8/mkulzma.8.gz
# 20160211: Remove obsolete unbound-control-setup
OLD_FILES+=usr/sbin/unbound-control-setup
+# 20160121: cc.h moved
+OLD_FILES+=usr/include/netinet/cc.h
# 20160116: Update mandoc to cvs snapshot 20160116
OLD_FILES+=usr/share/mdocml/example.style.css
OLD_FILES+=usr/share/mdocml/style.css
OLD_DIRS+=usr/share/mdocml
+# 20160114: SA-16:06.snmpd
+OLD_FILES+=usr/share/examples/etc/snmpd.config
# 20151225: new clang import which bumps version from 3.7.0 to 3.7.1.
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/allocator_interface.h
OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/asan_interface.h
@@ -462,6 +477,9 @@ OLD_FILES+=usr/lib/clang/3.7.0/lib/freeb
OLD_DIRS+=usr/lib/clang/3.7.0/lib/freebsd
OLD_DIRS+=usr/lib/clang/3.7.0/lib
OLD_DIRS+=usr/lib/clang/3.7.0
+# 20151201: mqueue tests 3 and 4 disabled
+OLD_FILES+=usr/tests/sys/mqueue/mqtest3
+OLD_FILES+=usr/tests/sys/mqueue/mqtest4
# 20151130: libelf moved from /usr/lib to /lib (libkvm dependency in r291406)
OLD_LIBS+=usr/lib/libelf.so.2
# 20151115: Fox bad upgrade scheme
@@ -596,6 +614,8 @@ OLD_LIBS+=lib/libcrypto.so.7
OLD_LIBS+=usr/lib/libssl.so.7
OLD_LIBS+=usr/lib32/libcrypto.so.7
OLD_LIBS+=usr/lib32/libssl.so.7
+# 20151029: LinuxKPI moved to sys/compat/linuxkpi
+OLD_FILES+=usr/include/dev/usb/usb_compat_linux.h
# 20151015: test symbols moved to /usr/lib/debug
OLD_DIRS+=usr/tests/lib/atf/libatf-c++/.debug
OLD_FILES+=usr/tests/lib/atf/libatf-c++/.debug/atf_c++_test.debug
Modified: projects/mips64-clang/etc/mtree/BSD.include.dist
==============================================================================
--- projects/mips64-clang/etc/mtree/BSD.include.dist Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/etc/mtree/BSD.include.dist Wed Sep 14 14:05:31 2016 (r305809)
@@ -110,6 +110,8 @@
..
ciss
..
+ evdev
+ ..
filemon
..
firewire
Modified: projects/mips64-clang/include/Makefile
==============================================================================
--- projects/mips64-clang/include/Makefile Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/include/Makefile Wed Sep 14 14:05:31 2016 (r305809)
@@ -154,7 +154,7 @@ copies: .PHONY .META
done; \
fi
.endfor
-.for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/nand:Ndev/pci} ${LSUBSUBDIRS}
+.for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/nand:Ndev/pci} ${LSUBSUBDIRS}
cd ${.CURDIR}/../sys; \
${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
${DESTDIR}${INCLUDEDIR}/$i
@@ -177,6 +177,13 @@ copies: .PHONY .META
${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 nand_dev.h \
${DESTDIR}${INCLUDEDIR}/dev/nand
.endif
+ cd ${.CURDIR}/../sys/dev/evdev; \
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 input.h \
+ ${DESTDIR}${INCLUDEDIR}/dev/evdev; \
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 input-event-codes.h \
+ ${DESTDIR}${INCLUDEDIR}/dev/evdev; \
+ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 uinput.h \
+ ${DESTDIR}${INCLUDEDIR}/dev/evdev
cd ${.CURDIR}/../sys/dev/pci; \
${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 pcireg.h \
${DESTDIR}${INCLUDEDIR}/dev/pci
@@ -238,7 +245,7 @@ symlinks: .PHONY .META
${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
done
.endfor
-.for i in ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/nand:Ndev/pci}
+.for i in ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/nand:Ndev/pci}
cd ${.CURDIR}/../sys/$i; \
for h in *.h; do \
${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
@@ -266,6 +273,11 @@ symlinks: .PHONY .META
${DESTDIR}${INCLUDEDIR}/dev/nand; \
done
.endif
+ cd ${.CURDIR}/../sys/dev/evdev; \
+ for h in input.h input-event-codes.h uinput.h; do \
+ ln -fs ../../../../sys/dev/evdev/$$h \
+ ${DESTDIR}${INCLUDEDIR}/dev/evdev; \
+ done
cd ${.CURDIR}/../sys/dev/pci; \
for h in pcireg.h; do \
${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/pci/$$h \
Modified: projects/mips64-clang/lib/libstand/net.h
==============================================================================
--- projects/mips64-clang/lib/libstand/net.h Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/lib/libstand/net.h Wed Sep 14 14:05:31 2016 (r305809)
@@ -130,4 +130,4 @@ n_long inet_addr(char *);
/* Machine-dependent functions: */
time_t getsecs(void);
-#endif
+#endif /* ! _STAND_NET_H */
Modified: projects/mips64-clang/release/arm/CUBIEBOARD.conf
==============================================================================
--- projects/mips64-clang/release/arm/CUBIEBOARD.conf Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/release/arm/CUBIEBOARD.conf Wed Sep 14 14:05:31 2016 (r305809)
@@ -7,7 +7,7 @@ EMBEDDEDBUILD=1
EMBEDDED_TARGET="arm"
EMBEDDED_TARGET_ARCH="armv6"
EMBEDDEDPORTS="sysutils/u-boot-cubieboard"
-KERNEL="CUBIEBOARD"
+KERNEL="ALLWINNER_UP"
WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x42000000"
IMAGE_SIZE="1G"
PART_SCHEME="MBR"
Modified: projects/mips64-clang/share/man/man9/device_quiet.9
==============================================================================
--- projects/mips64-clang/share/man/man9/device_quiet.9 Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/share/man/man9/device_quiet.9 Wed Sep 14 14:05:31 2016 (r305809)
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 21, 1999
+.Dd September 12, 2016
.Dt DEVICE_QUIET 9
.Os
.Sh NAME
@@ -49,16 +49,18 @@
Each device has a quiet flag associated with it.
A device is
verbose by default when it is created but may be quieted to prevent
-the device identification string to be printed during probe.
+printing of the device identification string during attach
+and printing of a message during detach.
To quiet a device, call
-.Fn device_quiet ,
-to re-enable to probe message (to make the message appear again, for
-example after a
-.Xr device_detach 9 )
+.Fn device_quiet
+during a device driver probe routine.
+To re-enable probe messages,
call
.Fn device_verbose .
To test to see if a device is quieted, call
.Fn device_is_quiet .
+.Pp
+Devices are implicitly marked verbose after a driver detaches.
.Sh SEE ALSO
.Xr device 9
.Sh AUTHORS
Modified: projects/mips64-clang/share/mk/meta.sys.mk
==============================================================================
--- projects/mips64-clang/share/mk/meta.sys.mk Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/share/mk/meta.sys.mk Wed Sep 14 14:05:31 2016 (r305809)
@@ -114,16 +114,13 @@ _metaError: .NOMETA .NOTMAIN
.endif
-META_COOKIE_TOUCH=
-# some targets need to be .PHONY in non-meta mode
-META_NOPHONY= .PHONY
# Are we, after all, in meta mode?
.if ${.MAKE.MODE:Uno:Mmeta*} != ""
MKDEP_MK = meta.autodep.mk
# we can afford to use cookies to prevent some targets
# re-running needlessly
-META_COOKIE_TOUCH= touch ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET:T}}
+META_COOKIE_TOUCH?= touch ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET:T}}
META_NOPHONY=
# some targets involve old pre-built targets
@@ -159,5 +156,9 @@ BUILD_AT_LEVEL0 ?= no
.endif
.endif
+.else
+META_COOKIE_TOUCH=
+# some targets need to be .PHONY in non-meta mode
+META_NOPHONY= .PHONY
.endif
.endif
Modified: projects/mips64-clang/sys/amd64/amd64/trap.c
==============================================================================
--- projects/mips64-clang/sys/amd64/amd64/trap.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/amd64/amd64/trap.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -236,7 +236,7 @@ trap(struct trapframe *frame)
* interrupts disabled until they are accidentally
* enabled later.
*/
- if (ISPL(frame->tf_cs) == SEL_UPL)
+ if (TRAPF_USERMODE(frame))
uprintf(
"pid %ld (%s): trap %d with interrupts disabled\n",
(long)curproc->p_pid, curthread->td_name, type);
@@ -260,7 +260,7 @@ trap(struct trapframe *frame)
code = frame->tf_err;
- if (ISPL(frame->tf_cs) == SEL_UPL) {
+ if (TRAPF_USERMODE(frame)) {
/* user trap */
td->td_pticks = 0;
@@ -787,7 +787,7 @@ trap_fatal(frame, eva)
else
msg = "UNKNOWN";
printf("\n\nFatal trap %d: %s while in %s mode\n", type, msg,
- ISPL(frame->tf_cs) == SEL_UPL ? "user" : "kernel");
+ TRAPF_USERMODE(frame) ? "user" : "kernel");
#ifdef SMP
/* two separate prints in case of a trap on an unmapped page */
printf("cpuid = %d; ", PCPU_GET(cpuid));
@@ -804,7 +804,7 @@ trap_fatal(frame, eva)
}
printf("instruction pointer = 0x%lx:0x%lx\n",
frame->tf_cs & 0xffff, frame->tf_rip);
- if (ISPL(frame->tf_cs) == SEL_UPL) {
+ if (TF_HAS_STACKREGS(frame)) {
ss = frame->tf_ss & 0xffff;
esp = frame->tf_rsp;
} else {
@@ -934,7 +934,7 @@ amd64_syscall(struct thread *td, int tra
ksiginfo_t ksi;
#ifdef DIAGNOSTIC
- if (ISPL(td->td_frame->tf_cs) != SEL_UPL) {
+ if (!TRAPF_USERMODE(frame)) {
panic("syscall");
/* NOT REACHED */
}
Modified: projects/mips64-clang/sys/arm/conf/BEAGLEBONE
==============================================================================
--- projects/mips64-clang/sys/arm/conf/BEAGLEBONE Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm/conf/BEAGLEBONE Wed Sep 14 14:05:31 2016 (r305809)
@@ -131,3 +131,6 @@ device hdmi
device ums
device ukbd
device kbdmux
+
+# Uncomment to enable evdev support for ti_adc
+# options EVDEV
Modified: projects/mips64-clang/sys/arm/ti/ti_adc.c
==============================================================================
--- projects/mips64-clang/sys/arm/ti/ti_adc.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm/ti/ti_adc.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -27,6 +27,8 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include "opt_evdev.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
@@ -52,6 +54,11 @@ __FBSDID("$FreeBSD$");
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
+#ifdef EVDEV
+#include <dev/evdev/input.h>
+#include <dev/evdev/evdev.h>
+#endif
+
#include <arm/ti/ti_prcm.h>
#include <arm/ti/ti_adcreg.h>
#include <arm/ti/ti_adcvar.h>
@@ -80,6 +87,20 @@ static struct ti_adc_input ti_adc_inputs
static int ti_adc_samples[5] = { 0, 2, 4, 8, 16 };
+static int ti_adc_detach(device_t dev);
+
+#ifdef EVDEV
+static void
+ti_adc_ev_report(struct ti_adc_softc *sc)
+{
+
+ evdev_push_event(sc->sc_evdev, EV_ABS, ABS_X, sc->sc_x);
+ evdev_push_event(sc->sc_evdev, EV_ABS, ABS_Y, sc->sc_y);
+ evdev_push_event(sc->sc_evdev, EV_KEY, BTN_TOUCH, sc->sc_pen_down);
+ evdev_sync(sc->sc_evdev);
+}
+#endif /* EVDEV */
+
static void
ti_adc_enable(struct ti_adc_softc *sc)
{
@@ -450,7 +471,14 @@ ti_adc_tsc_read_data(struct ti_adc_softc
#ifdef DEBUG_TSC
device_printf(sc->sc_dev, "touchscreen x: %d, y: %d\n", x, y);
#endif
- /* TODO: That's where actual event reporting should take place */
+
+#ifdef EVDEV
+ if ((sc->sc_x != x) || (sc->sc_y != y)) {
+ sc->sc_x = x;
+ sc->sc_y = y;
+ ti_adc_ev_report(sc);
+ }
+#endif
}
static void
@@ -488,11 +516,17 @@ ti_adc_intr(void *arg)
status |= ADC_IRQ_HW_PEN_ASYNC;
ADC_WRITE4(sc, ADC_IRQENABLE_CLR,
ADC_IRQ_HW_PEN_ASYNC);
+#ifdef EVDEV
+ ti_adc_ev_report(sc);
+#endif
}
if (rawstatus & ADC_IRQ_PEN_UP) {
sc->sc_pen_down = 0;
status |= ADC_IRQ_PEN_UP;
+#ifdef EVDEV
+ ti_adc_ev_report(sc);
+#endif
}
if (status & ADC_IRQ_FIFO0_THRES)
@@ -840,6 +874,38 @@ ti_adc_attach(device_t dev)
ti_adc_setup(sc);
TI_ADC_UNLOCK(sc);
+#ifdef EVDEV
+ if (sc->sc_tsc_wires > 0) {
+ sc->sc_evdev = evdev_alloc();
+ evdev_set_name(sc->sc_evdev, device_get_desc(dev));
+ evdev_set_phys(sc->sc_evdev, device_get_nameunit(dev));
+ evdev_set_id(sc->sc_evdev, BUS_VIRTUAL, 0, 0, 0);
+ evdev_support_prop(sc->sc_evdev, INPUT_PROP_DIRECT);
+ evdev_support_event(sc->sc_evdev, EV_SYN);
+ evdev_support_event(sc->sc_evdev, EV_ABS);
+ evdev_support_event(sc->sc_evdev, EV_KEY);
+
+ evdev_support_abs(sc->sc_evdev, ABS_X, 0, 0,
+ ADC_MAX_VALUE, 0, 0, 0);
+ evdev_support_abs(sc->sc_evdev, ABS_Y, 0, 0,
+ ADC_MAX_VALUE, 0, 0, 0);
+
+ evdev_support_key(sc->sc_evdev, BTN_TOUCH);
+
+ err = evdev_register(sc->sc_evdev);
+ if (err) {
+ device_printf(dev,
+ "failed to register evdev: error=%d\n", err);
+ ti_adc_detach(dev);
+ return (err);
+ }
+
+ sc->sc_pen_down = 0;
+ sc->sc_x = -1;
+ sc->sc_y = -1;
+ }
+#endif /* EVDEV */
+
return (0);
}
@@ -854,6 +920,11 @@ ti_adc_detach(device_t dev)
TI_ADC_LOCK(sc);
ti_adc_reset(sc);
ti_adc_setup(sc);
+
+#ifdef EVDEV
+ evdev_free(sc->sc_evdev);
+#endif
+
TI_ADC_UNLOCK(sc);
TI_ADC_LOCK_DESTROY(sc);
Modified: projects/mips64-clang/sys/arm/ti/ti_adcreg.h
==============================================================================
--- projects/mips64-clang/sys/arm/ti/ti_adcreg.h Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm/ti/ti_adcreg.h Wed Sep 14 14:05:31 2016 (r305809)
@@ -122,5 +122,6 @@
#define ADC_FIFO_STEP_ID_MSK 0x000f0000
#define ADC_FIFO_STEP_ID_SHIFT 16
#define ADC_FIFO_DATA_MSK 0x00000fff
+#define ADC_MAX_VALUE 0xfff
#endif /* _TI_ADCREG_H_ */
Modified: projects/mips64-clang/sys/arm/ti/ti_adcvar.h
==============================================================================
--- projects/mips64-clang/sys/arm/ti/ti_adcvar.h Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm/ti/ti_adcvar.h Wed Sep 14 14:05:31 2016 (r305809)
@@ -55,6 +55,11 @@ struct ti_adc_softc {
int sc_yn_bit, sc_yn_inp;
uint32_t sc_tsc_enabled;
int sc_pen_down;
+#ifdef EVDEV
+ int sc_x;
+ int sc_y;
+ struct evdev_dev *sc_evdev;
+#endif
};
struct ti_adc_input {
Modified: projects/mips64-clang/sys/arm/ti/ti_cpuid.c
==============================================================================
--- projects/mips64-clang/sys/arm/ti/ti_cpuid.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm/ti/ti_cpuid.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -201,8 +201,10 @@ static void
am335x_get_revision(void)
{
uint32_t dev_feature;
- uint8_t cpu_last_char;
+ char cpu_last_char;
bus_space_handle_t bsh;
+ int major;
+ int minor;
bus_space_map(fdtbus_bs_tag, AM335X_CONTROL_BASE, AM335X_CONTROL_SIZE, 0, &bsh);
chip_revision = bus_space_read_4(fdtbus_bs_tag, bsh, AM335X_CONTROL_DEVICE_ID);
@@ -232,8 +234,26 @@ am335x_get_revision(void)
cpu_last_char='x';
}
- printf("Texas Instruments AM335%c Processor, Revision ES1.%u\n",
- cpu_last_char, AM335X_DEVREV(chip_revision));
+ switch(AM335X_DEVREV(chip_revision)) {
+ case 0:
+ major = 1;
+ minor = 0;
+ break;
+ case 1:
+ major = 2;
+ minor = 0;
+ break;
+ case 2:
+ major = 2;
+ minor = 1;
+ break;
+ default:
+ major = 0;
+ minor = AM335X_DEVREV(chip_revision);
+ break;
+ }
+ printf("Texas Instruments AM335%c Processor, Revision ES%u.%u\n",
+ cpu_last_char, major, minor);
}
/**
Modified: projects/mips64-clang/sys/arm64/arm64/db_trace.c
==============================================================================
--- projects/mips64-clang/sys/arm64/arm64/db_trace.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm64/arm64/db_trace.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -27,6 +27,8 @@
* SUCH DAMAGE.
*/
+#include "opt_ddb.h"
+
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include <sys/param.h>
Modified: projects/mips64-clang/sys/arm64/arm64/debug_monitor.c
==============================================================================
--- projects/mips64-clang/sys/arm64/arm64/debug_monitor.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm64/arm64/debug_monitor.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -27,6 +27,8 @@
* SUCH DAMAGE.
*/
+#include "opt_ddb.h"
+
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
Modified: projects/mips64-clang/sys/arm64/arm64/identcpu.c
==============================================================================
--- projects/mips64-clang/sys/arm64/arm64/identcpu.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm64/arm64/identcpu.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -179,6 +179,28 @@ print_cpu_features(u_int cpu)
}
printf("\n");
+ /*
+ * There is a hardware errata where, if one CPU is performing a TLB
+ * invalidation while another is performing a store-exclusive the
+ * store-exclusive may return the wrong status. A workaround seems
+ * to be to use an IPI to invalidate on each CPU, however given the
+ * limited number of affected units (pass 1.1 is the evaluation
+ * hardware revision), and the lack of information from Cavium
+ * this has not been implemented.
+ *
+ * At the time of writing this the only information is from:
+ * https://lkml.org/lkml/2016/8/4/722
+ */
+ /*
+ * XXX: CPU_MATCH_ERRATA_CAVIUM_THUNDER_1_1 on it's own also
+ * triggers on pass 2.0+.
+ */
+ if (cpu == 0 && CPU_VAR(PCPU_GET(midr)) == 0 &&
+ CPU_MATCH_ERRATA_CAVIUM_THUNDER_1_1)
+ printf("WARNING: ThunderX Pass 1.1 detected.\nThis has known "
+ "hardware bugs that may cause the incorrect operation of "
+ "atomic operations.\n");
+
if (cpu != 0 && cpu_print_regs == 0)
return;
Modified: projects/mips64-clang/sys/arm64/include/debug_monitor.h
==============================================================================
--- projects/mips64-clang/sys/arm64/include/debug_monitor.h Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/arm64/include/debug_monitor.h Wed Sep 14 14:05:31 2016 (r305809)
@@ -32,7 +32,7 @@
#ifndef _MACHINE_DEBUG_MONITOR_H_
#define _MACHINE_DEBUG_MONITOR_H_
-#ifdef KDB
+#ifdef DDB
#include <machine/db_machdep.h>
Modified: projects/mips64-clang/sys/boot/common/dev_net.c
==============================================================================
--- projects/mips64-clang/sys/boot/common/dev_net.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/boot/common/dev_net.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -368,7 +368,7 @@ net_print(int verbose)
uint32_t
net_parse_rootpath()
{
- int i, ipstart;
+ int i;
n_long addr = INADDR_NONE;
netproto = NET_NFS;
@@ -383,7 +383,7 @@ net_parse_rootpath()
break;
if (i && i != FNAME_SIZE && rootpath[i] == ':') {
rootpath[i++] = '\0';
- addr = inet_addr(&rootpath[ipstart]);
+ addr = inet_addr(&rootpath[0]);
bcopy(&rootpath[i], rootpath, strlen(&rootpath[i])+1);
}
Modified: projects/mips64-clang/sys/boot/kshim/bsd_kernel.c
==============================================================================
--- projects/mips64-clang/sys/boot/kshim/bsd_kernel.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/boot/kshim/bsd_kernel.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -432,8 +432,8 @@ callout_callback(struct callout *c)
}
mtx_unlock(&mtx_callout);
- if (c->func)
- (c->func) (c->arg);
+ if (c->c_func != NULL)
+ (c->c_func) (c->c_arg);
if (!(c->flags & CALLOUT_RETURNUNLOCKED))
mtx_unlock(c->mtx);
@@ -487,8 +487,8 @@ callout_reset(struct callout *c, int to_
{
callout_stop(c);
- c->func = func;
- c->arg = arg;
+ c->c_func = func;
+ c->c_arg = arg;
c->timeout = ticks + to_ticks;
mtx_lock(&mtx_callout);
@@ -507,8 +507,8 @@ callout_stop(struct callout *c)
}
mtx_unlock(&mtx_callout);
- c->func = NULL;
- c->arg = NULL;
+ c->c_func = NULL;
+ c->c_arg = NULL;
}
void
Modified: projects/mips64-clang/sys/boot/kshim/bsd_kernel.h
==============================================================================
--- projects/mips64-clang/sys/boot/kshim/bsd_kernel.h Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/boot/kshim/bsd_kernel.h Wed Sep 14 14:05:31 2016 (r305809)
@@ -299,8 +299,8 @@ extern volatile int ticks;
struct callout {
LIST_ENTRY(callout) entry;
- callout_fn_t *func;
- void *arg;
+ callout_fn_t *c_func;
+ void *c_arg;
struct mtx *mtx;
int flags;
int timeout;
Modified: projects/mips64-clang/sys/conf/NOTES
==============================================================================
--- projects/mips64-clang/sys/conf/NOTES Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/conf/NOTES Wed Sep 14 14:05:31 2016 (r305809)
@@ -3052,3 +3052,8 @@ options GZIO
# BHND(4) drivers
options BHND_LOGLEVEL # Logging threshold level
+
+# evdev interface
+options EVDEV
+options EVDEV_DEBUG
+options UINPUT_DEBUG
Modified: projects/mips64-clang/sys/conf/files
==============================================================================
--- projects/mips64-clang/sys/conf/files Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/conf/files Wed Sep 14 14:05:31 2016 (r305809)
@@ -1501,6 +1501,11 @@ dev/etherswitch/ip17x/ip17x_vlans.c opti
dev/etherswitch/miiproxy.c optional miiproxy
dev/etherswitch/rtl8366/rtl8366rb.c optional rtl8366rb
dev/etherswitch/ukswitch/ukswitch.c optional ukswitch
+dev/evdev/cdev.c optional evdev
+dev/evdev/evdev.c optional evdev
+dev/evdev/evdev_mt.c optional evdev
+dev/evdev/evdev_utils.c optional evdev
+dev/evdev/uinput.c optional evdev uinput
dev/ex/if_ex.c optional ex
dev/ex/if_ex_isa.c optional ex isa
dev/ex/if_ex_pccard.c optional ex pccard
Modified: projects/mips64-clang/sys/conf/files.arm64
==============================================================================
--- projects/mips64-clang/sys/conf/files.arm64 Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/conf/files.arm64 Wed Sep 14 14:05:31 2016 (r305809)
@@ -62,7 +62,7 @@ arm64/arm64/cpufunc_asm.S standard
arm64/arm64/db_disasm.c optional ddb
arm64/arm64/db_interface.c optional ddb
arm64/arm64/db_trace.c optional ddb
-arm64/arm64/debug_monitor.c optional kdb
+arm64/arm64/debug_monitor.c optional ddb
arm64/arm64/disassem.c optional ddb
arm64/arm64/dump_machdep.c standard
arm64/arm64/elf_machdep.c standard
Modified: projects/mips64-clang/sys/conf/options
==============================================================================
--- projects/mips64-clang/sys/conf/options Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/conf/options Wed Sep 14 14:05:31 2016 (r305809)
@@ -987,3 +987,8 @@ BHND_LOGLEVEL opt_global.h
# GPIO and child devices
GPIO_SPI_DEBUG opt_gpio.h
+
+# evdev protocol support
+EVDEV opt_evdev.h
+EVDEV_DEBUG opt_evdev.h
+UINPUT_DEBUG opt_evdev.h
Modified: projects/mips64-clang/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
==============================================================================
--- projects/mips64-clang/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -2339,7 +2339,9 @@ ar9300_attach(u_int16_t devid, HAL_SOFTC
} else {
ar9300_disable_pcie_phy(ah);
}
+#if 0
ath_hal_printf(ah, "%s: calling ar9300_hw_attach\n", __func__);
+#endif
ecode = ar9300_hw_attach(ah);
if (ecode != HAL_OK) {
goto bad;
@@ -3234,7 +3236,9 @@ ar9300_hw_attach(struct ath_hal *ah)
return HAL_ESELFTEST;
}
+#if 0
ath_hal_printf(ah, "%s: calling ar9300_eeprom_attach\n", __func__);
+#endif
ecode = ar9300_eeprom_attach(ah);
ath_hal_printf(ah, "%s: ar9300_eeprom_attach returned %d\n", __func__, ecode);
if (ecode != HAL_OK) {
Modified: projects/mips64-clang/sys/dev/ath/if_ath_tx.c
==============================================================================
--- projects/mips64-clang/sys/dev/ath/if_ath_tx.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/dev/ath/if_ath_tx.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -1042,6 +1042,14 @@ ath_tx_calc_protection(struct ath_softc
shortPreamble = bf->bf_state.bfs_shpream;
wh = mtod(bf->bf_m, struct ieee80211_frame *);
+ /* Disable frame protection for TOA probe frames */
+ if (bf->bf_flags & ATH_BUF_TOA_PROBE) {
+ /* XXX count */
+ flags &= ~(HAL_TXDESC_CTSENA | HAL_TXDESC_RTSENA);
+ bf->bf_state.bfs_doprot = 0;
+ goto finish;
+ }
+
/*
* If 802.11g protection is enabled, determine whether
* to use RTS/CTS or just CTS. Note that this is only
@@ -1081,6 +1089,8 @@ ath_tx_calc_protection(struct ath_softc
flags |= HAL_TXDESC_RTSENA;
sc->sc_stats.ast_tx_htprotect++;
}
+
+finish:
bf->bf_state.bfs_txflags = flags;
}
@@ -1739,6 +1749,34 @@ ath_tx_normal_setup(struct ath_softc *sc
}
#endif
+ /*
+ * If it's a frame to do location reporting on,
+ * communicate it to the HAL.
+ */
+ if (ieee80211_get_toa_params(m0, NULL)) {
+ device_printf(sc->sc_dev,
+ "%s: setting TX positioning bit\n", __func__);
+ flags |= HAL_TXDESC_POS;
+
+ /*
+ * Note: The hardware reports timestamps for
+ * each of the RX'ed packets as part of the packet
+ * exchange. So this means things like RTS/CTS
+ * exchanges, as well as the final ACK.
+ *
+ * So, if you send a RTS-protected NULL data frame,
+ * you'll get an RX report for the RTS response, then
+ * an RX report for the NULL frame, and then the TX
+ * completion at the end.
+ *
+ * NOTE: it doesn't work right for CCK frames;
+ * there's no channel info data provided unless
+ * it's OFDM or HT. Will have to dig into it.
+ */
+ flags &= ~(HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA);
+ bf->bf_flags |= ATH_BUF_TOA_PROBE;
+ }
+
#if 0
/*
* Placeholder: if you want to transmit with the azimuth
@@ -2175,6 +2213,18 @@ ath_tx_raw_start(struct ath_softc *sc, s
try0 = ATH_TXMAXTRY; /* XXX?too many? */
}
+ /*
+ * If it's a frame to do location reporting on,
+ * communicate it to the HAL.
+ */
+ if (ieee80211_get_toa_params(m0, NULL)) {
+ device_printf(sc->sc_dev,
+ "%s: setting TX positioning bit\n", __func__);
+ flags |= HAL_TXDESC_POS;
+ flags &= ~(HAL_TXDESC_RTSENA | HAL_TXDESC_CTSENA);
+ bf->bf_flags |= ATH_BUF_TOA_PROBE;
+ }
+
txrate = rt->info[rix].rateCode;
if (params->ibp_flags & IEEE80211_BPF_SHORTPRE)
txrate |= rt->info[rix].shortPreamble;
Modified: projects/mips64-clang/sys/dev/ath/if_ath_tx_edma.c
==============================================================================
--- projects/mips64-clang/sys/dev/ath/if_ath_tx_edma.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/dev/ath/if_ath_tx_edma.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -268,7 +268,7 @@ ath_tx_edma_push_staging_list(struct ath
/* Bump FIFO queue */
txq->axq_fifo_depth++;
- DPRINTF(sc, ATH_DEBUG_XMIT,
+ DPRINTF(sc, ATH_DEBUG_XMIT | ATH_DEBUG_TX_PROC,
"%s: queued %d packets; depth=%d, fifo depth=%d\n",
__func__, sqdepth, txq->fifo.axq_depth, txq->axq_fifo_depth);
@@ -296,16 +296,21 @@ ath_edma_tx_fifo_fill(struct ath_softc *
ATH_TXQ_LOCK_ASSERT(txq);
- DPRINTF(sc, ATH_DEBUG_TX_PROC, "%s: Q%d: called\n",
+ DPRINTF(sc, ATH_DEBUG_TX_PROC,
+ "%s: Q%d: called; fifo.depth=%d, fifo depth=%d, depth=%d, aggr_depth=%d\n",
__func__,
- txq->axq_qnum);
+ txq->axq_qnum,
+ txq->fifo.axq_depth,
+ txq->axq_fifo_depth,
+ txq->axq_depth,
+ txq->axq_aggr_depth);
/*
- * For now, push up to 4 frames per TX FIFO slot.
+ * For now, push up to 32 frames per TX FIFO slot.
* If more are in the hardware queue then they'll
* get populated when we try to send another frame
* or complete a frame - so at most there'll be
- * 32 non-AMPDU frames per TXQ.
+ * 32 non-AMPDU frames per node/TID anyway.
*
* Note that the hardware staging queue will limit
* how many frames in total we will have pushed into
@@ -811,10 +816,11 @@ ath_edma_tx_processq(struct ath_softc *s
}
#if defined(ATH_DEBUG_ALQ) && defined(ATH_DEBUG)
- if (if_ath_alq_checkdebug(&sc->sc_alq, ATH_ALQ_EDMA_TXSTATUS))
+ if (if_ath_alq_checkdebug(&sc->sc_alq, ATH_ALQ_EDMA_TXSTATUS)) {
if_ath_alq_post(&sc->sc_alq, ATH_ALQ_EDMA_TXSTATUS,
sc->sc_tx_statuslen,
(char *) txstatus);
+ }
#endif /* ATH_DEBUG_ALQ */
/*
Modified: projects/mips64-clang/sys/dev/cxgbe/adapter.h
==============================================================================
--- projects/mips64-clang/sys/dev/cxgbe/adapter.h Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/dev/cxgbe/adapter.h Wed Sep 14 14:05:31 2016 (r305809)
@@ -835,7 +835,7 @@ struct adapter {
uint16_t niccaps;
uint16_t toecaps;
uint16_t rdmacaps;
- uint16_t tlscaps;
+ uint16_t cryptocaps;
uint16_t iscsicaps;
uint16_t fcoecaps;
@@ -1040,12 +1040,26 @@ is_10G_port(const struct port_info *pi)
}
static inline bool
+is_25G_port(const struct port_info *pi)
+{
+
+ return ((pi->link_cfg.supported & FW_PORT_CAP_SPEED_25G) != 0);
+}
+
+static inline bool
is_40G_port(const struct port_info *pi)
{
return ((pi->link_cfg.supported & FW_PORT_CAP_SPEED_40G) != 0);
}
+static inline bool
+is_100G_port(const struct port_info *pi)
+{
+
+ return ((pi->link_cfg.supported & FW_PORT_CAP_SPEED_100G) != 0);
+}
+
static inline int
port_top_speed(const struct port_info *pi)
{
@@ -1054,6 +1068,8 @@ port_top_speed(const struct port_info *p
return (100);
if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_40G)
return (40);
+ if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_25G)
+ return (25);
if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_10G)
return (10);
if (pi->link_cfg.supported & FW_PORT_CAP_SPEED_1G)
Modified: projects/mips64-clang/sys/dev/cxgbe/common/t4_hw.c
==============================================================================
--- projects/mips64-clang/sys/dev/cxgbe/common/t4_hw.c Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/dev/cxgbe/common/t4_hw.c Wed Sep 14 14:05:31 2016 (r305809)
@@ -3669,8 +3669,9 @@ void t4_ulprx_read_la(struct adapter *ad
}
#define ADVERT_MASK (FW_PORT_CAP_SPEED_100M | FW_PORT_CAP_SPEED_1G |\
- FW_PORT_CAP_SPEED_10G | FW_PORT_CAP_SPEED_40G | \
- FW_PORT_CAP_SPEED_100G | FW_PORT_CAP_ANEG)
+ FW_PORT_CAP_SPEED_10G | FW_PORT_CAP_SPEED_25G | \
+ FW_PORT_CAP_SPEED_40G | FW_PORT_CAP_SPEED_100G | \
+ FW_PORT_CAP_ANEG)
/**
* t4_link_l1cfg - apply link configuration to MAC/PHY
@@ -5775,6 +5776,11 @@ const char *t4_get_port_type_description
"QSA",
"QSFP",
"BP40_BA",
+ "KR4_100G",
+ "CR4_QSFP",
+ "CR_QSFP",
+ "CR2_QSFP",
+ "SFP28",
};
if (port_type < ARRAY_SIZE(port_type_description))
@@ -7462,8 +7468,12 @@ int t4_handle_fw_rpl(struct adapter *ada
speed = 1000;
else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_10G))
speed = 10000;
+ else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_25G))
+ speed = 25000;
else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_40G))
speed = 40000;
+ else if (stat & V_FW_PORT_CMD_LSPEED(FW_PORT_CAP_SPEED_100G))
+ speed = 100000;
for_each_port(adap, i) {
pi = adap2pinfo(adap, i);
Modified: projects/mips64-clang/sys/dev/cxgbe/firmware/t4fw_interface.h
==============================================================================
--- projects/mips64-clang/sys/dev/cxgbe/firmware/t4fw_interface.h Wed Sep 14 13:59:18 2016 (r305808)
+++ projects/mips64-clang/sys/dev/cxgbe/firmware/t4fw_interface.h Wed Sep 14 14:05:31 2016 (r305809)
@@ -135,7 +135,9 @@ enum fw_wr_opcodes {
FW_POFCOE_ULPTX_WR = 0x43,
FW_ISCSI_TX_DATA_WR = 0x45,
FW_PTP_TX_PKT_WR = 0x46,
- FW_SEC_LOOKASIDE_LPBK_WR= 0x6d,
+ FW_TLSTX_DATA_WR = 0x68,
+ FW_TLS_KEYCTX_TX_WR = 0x69,
+ FW_CRYPTO_LOOKASIDE_WR = 0x6d,
FW_COiSCSI_TGT_WR = 0x70,
FW_COiSCSI_TGT_CONN_WR = 0x71,
FW_COiSCSI_TGT_XMIT_WR = 0x72,
@@ -3384,8 +3386,429 @@ struct fw_pi_error {
#define G_FW_PI_ERROR_ERR_TYPE(x) \
(((x) >> S_FW_PI_ERROR_ERR_TYPE) & M_FW_PI_ERROR_ERR_TYPE)
+struct fw_tlstx_data_wr {
+ __be32 op_to_immdlen;
+ __be32 flowid_len16;
+ __be32 plen;
+ __be32 lsodisable_to_flags;
+ __be32 ddraddr;
+ __be32 ctxloc_to_exp;
+ __be16 mfs;
+ __u8 r6[6];
+};
+
+#define S_FW_TLSTX_DATA_WR_COMPL 21
+#define M_FW_TLSTX_DATA_WR_COMPL 0x1
+#define V_FW_TLSTX_DATA_WR_COMPL(x) ((x) << S_FW_TLSTX_DATA_WR_COMPL)
+#define G_FW_TLSTX_DATA_WR_COMPL(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_COMPL) & M_FW_TLSTX_DATA_WR_COMPL)
+#define F_FW_TLSTX_DATA_WR_COMPL V_FW_TLSTX_DATA_WR_COMPL(1U)
+
+#define S_FW_TLSTX_DATA_WR_IMMDLEN 0
+#define M_FW_TLSTX_DATA_WR_IMMDLEN 0xff
+#define V_FW_TLSTX_DATA_WR_IMMDLEN(x) ((x) << S_FW_TLSTX_DATA_WR_IMMDLEN)
+#define G_FW_TLSTX_DATA_WR_IMMDLEN(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_IMMDLEN) & M_FW_TLSTX_DATA_WR_IMMDLEN)
+
+#define S_FW_TLSTX_DATA_WR_FLOWID 8
+#define M_FW_TLSTX_DATA_WR_FLOWID 0xfffff
+#define V_FW_TLSTX_DATA_WR_FLOWID(x) ((x) << S_FW_TLSTX_DATA_WR_FLOWID)
+#define G_FW_TLSTX_DATA_WR_FLOWID(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_FLOWID) & M_FW_TLSTX_DATA_WR_FLOWID)
+
+#define S_FW_TLSTX_DATA_WR_LEN16 0
+#define M_FW_TLSTX_DATA_WR_LEN16 0xff
+#define V_FW_TLSTX_DATA_WR_LEN16(x) ((x) << S_FW_TLSTX_DATA_WR_LEN16)
+#define G_FW_TLSTX_DATA_WR_LEN16(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_LEN16) & M_FW_TLSTX_DATA_WR_LEN16)
+
+#define S_FW_TLSTX_DATA_WR_LSODISABLE 31
+#define M_FW_TLSTX_DATA_WR_LSODISABLE 0x1
+#define V_FW_TLSTX_DATA_WR_LSODISABLE(x) \
+ ((x) << S_FW_TLSTX_DATA_WR_LSODISABLE)
+#define G_FW_TLSTX_DATA_WR_LSODISABLE(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_LSODISABLE) & M_FW_TLSTX_DATA_WR_LSODISABLE)
+#define F_FW_TLSTX_DATA_WR_LSODISABLE V_FW_TLSTX_DATA_WR_LSODISABLE(1U)
+
+#define S_FW_TLSTX_DATA_WR_ALIGNPLD 30
+#define M_FW_TLSTX_DATA_WR_ALIGNPLD 0x1
+#define V_FW_TLSTX_DATA_WR_ALIGNPLD(x) ((x) << S_FW_TLSTX_DATA_WR_ALIGNPLD)
+#define G_FW_TLSTX_DATA_WR_ALIGNPLD(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_ALIGNPLD) & M_FW_TLSTX_DATA_WR_ALIGNPLD)
+#define F_FW_TLSTX_DATA_WR_ALIGNPLD V_FW_TLSTX_DATA_WR_ALIGNPLD(1U)
+
+#define S_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE 29
+#define M_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE 0x1
+#define V_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE(x) \
+ ((x) << S_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE)
+#define G_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE) & \
+ M_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE)
+#define F_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE V_FW_TLSTX_DATA_WR_ALIGNPLDSHOVE(1U)
+
+#define S_FW_TLSTX_DATA_WR_FLAGS 0
+#define M_FW_TLSTX_DATA_WR_FLAGS 0xfffffff
+#define V_FW_TLSTX_DATA_WR_FLAGS(x) ((x) << S_FW_TLSTX_DATA_WR_FLAGS)
+#define G_FW_TLSTX_DATA_WR_FLAGS(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_FLAGS) & M_FW_TLSTX_DATA_WR_FLAGS)
+
+#define S_FW_TLSTX_DATA_WR_CTXLOC 30
+#define M_FW_TLSTX_DATA_WR_CTXLOC 0x3
+#define V_FW_TLSTX_DATA_WR_CTXLOC(x) ((x) << S_FW_TLSTX_DATA_WR_CTXLOC)
+#define G_FW_TLSTX_DATA_WR_CTXLOC(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_CTXLOC) & M_FW_TLSTX_DATA_WR_CTXLOC)
+
+#define S_FW_TLSTX_DATA_WR_IVDSGL 29
+#define M_FW_TLSTX_DATA_WR_IVDSGL 0x1
+#define V_FW_TLSTX_DATA_WR_IVDSGL(x) ((x) << S_FW_TLSTX_DATA_WR_IVDSGL)
+#define G_FW_TLSTX_DATA_WR_IVDSGL(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_IVDSGL) & M_FW_TLSTX_DATA_WR_IVDSGL)
+#define F_FW_TLSTX_DATA_WR_IVDSGL V_FW_TLSTX_DATA_WR_IVDSGL(1U)
+
+#define S_FW_TLSTX_DATA_WR_KEYSIZE 24
+#define M_FW_TLSTX_DATA_WR_KEYSIZE 0x1f
+#define V_FW_TLSTX_DATA_WR_KEYSIZE(x) ((x) << S_FW_TLSTX_DATA_WR_KEYSIZE)
+#define G_FW_TLSTX_DATA_WR_KEYSIZE(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_KEYSIZE) & M_FW_TLSTX_DATA_WR_KEYSIZE)
+
+#define S_FW_TLSTX_DATA_WR_NUMIVS 14
+#define M_FW_TLSTX_DATA_WR_NUMIVS 0xff
+#define V_FW_TLSTX_DATA_WR_NUMIVS(x) ((x) << S_FW_TLSTX_DATA_WR_NUMIVS)
+#define G_FW_TLSTX_DATA_WR_NUMIVS(x) \
+ (((x) >> S_FW_TLSTX_DATA_WR_NUMIVS) & M_FW_TLSTX_DATA_WR_NUMIVS)
+
+#define S_FW_TLSTX_DATA_WR_EXP 0
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list