From owner-svn-src-stable-10@FreeBSD.ORG Sun Feb 9 00:34:22 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8E73F96; Sun, 9 Feb 2014 00:34:22 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5EE831DAF; Sun, 9 Feb 2014 00:34:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s190YM5l081997; Sun, 9 Feb 2014 00:34:22 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s190YMQf081996; Sun, 9 Feb 2014 00:34:22 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201402090034.s190YMQf081996@svn.freebsd.org> From: Dimitry Andric Date: Sun, 9 Feb 2014 00:34:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261644 - stable/10/lib/libcxxrt X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Feb 2014 00:34:22 -0000 Author: dim Date: Sun Feb 9 00:34:21 2014 New Revision: 261644 URL: http://svnweb.freebsd.org/changeset/base/261644 Log: MFC r260553 (by theraven): Add missing C++11 typeinfos to the libcxxrt version script. PR: 185663 Modified: stable/10/lib/libcxxrt/Version.map Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libcxxrt/Version.map ============================================================================== --- stable/10/lib/libcxxrt/Version.map Sat Feb 8 23:54:16 2014 (r261643) +++ stable/10/lib/libcxxrt/Version.map Sun Feb 9 00:34:21 2014 (r261644) @@ -111,6 +111,19 @@ CXXABI_1.3 { "typeinfo for void"; "typeinfo for wchar_t const*"; "typeinfo for wchar_t"; + # C++11 typeinfo not understood by our linker + # std::nullptr_t + _ZTIDn;_ZTIPDn;_ZTIPKDn; + # char16_t + _ZTIDi;_ZTIPDi;_ZTIPKDi; + # char32_t + _ZTIDs;_ZTIPDs;_ZTIPKDs; + # IEEE 754r decimal floating point + _ZTIDd;_ZTIPDd;_ZTIPKDd; + _ZTIDe;_ZTIPDe;_ZTIPKDe; + _ZTIDf;_ZTIPDf;_ZTIPKDf; + # IEEE 754r half-precision floating point + _ZTIDh;_ZTIPDh;_ZTIPKDh; "typeinfo for bool*"; "typeinfo for wchar_t*"; @@ -195,6 +208,19 @@ CXXABI_1.3 { "typeinfo name for void*"; "typeinfo name for unsigned int*"; "typeinfo name for float*"; + # C++11 typeinfo not understood by our linker + # std::nullptr_t + _ZTSDn;_ZTIPDn;_ZTIPKDn; + # char16_t + _ZTSDi;_ZTIPDi;_ZTIPKDi; + # char32_t + _ZTSDs;_ZTIPDs;_ZTIPKDs; + # IEEE 754r decimal floating point + _ZTSDd;_ZTIPDd;_ZTIPKDd; + _ZTSDe;_ZTIPDe;_ZTIPKDe; + _ZTSDf;_ZTIPDf;_ZTIPKDf; + # IEEE 754r half-precision floating point + _ZTSDh;_ZTIPDh;_ZTIPKDh; "typeinfo name for __cxxabiv1::__array_type_info"; "typeinfo name for __cxxabiv1::__class_type_info"; From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 06:29:06 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7F73722C; Mon, 10 Feb 2014 06:29:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6AB8E1872; Mon, 10 Feb 2014 06:29:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1A6T67x055899; Mon, 10 Feb 2014 06:29:06 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1A6T6cC055898; Mon, 10 Feb 2014 06:29:06 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201402100629.s1A6T6cC055898@svn.freebsd.org> From: Adrian Chadd Date: Mon, 10 Feb 2014 06:29:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261705 - stable/10/sys/netinet X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 06:29:06 -0000 Author: adrian Date: Mon Feb 10 06:29:05 2014 New Revision: 261705 URL: http://svnweb.freebsd.org/changeset/base/261705 Log: MFC r260871: If the flowid is available for the mbuf that finalised the creation of a syncache connection, copy it into the inp_flowid field. Without this, an incoming TCP connection won't have an inp_flowid marked until some data comes in, and this means that things like the per-CPU TCP timer option will choose a different CPU for the timer work. (It also means that if one grabbed the flowid via an ioctl from userland, it won't be available until some data has been received.) Sponsored by: Netflix, Inc. Modified: stable/10/sys/netinet/tcp_syncache.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/netinet/tcp_syncache.c ============================================================================== --- stable/10/sys/netinet/tcp_syncache.c Mon Feb 10 05:37:04 2014 (r261704) +++ stable/10/sys/netinet/tcp_syncache.c Mon Feb 10 06:29:05 2014 (r261705) @@ -721,6 +721,16 @@ syncache_socket(struct syncache *sc, str #endif /* + * If there's an mbuf and it has a flowid, then let's initialise the + * inp with that particular flowid. + */ + if (m != NULL && m->m_flags & M_FLOWID) { + inp->inp_flags |= INP_HW_FLOWID; + inp->inp_flags &= ~INP_SW_FLOWID; + inp->inp_flowid = m->m_pkthdr.flowid; + } + + /* * Install in the reservation hash table for now, but don't yet * install a connection group since the full 4-tuple isn't yet * configured. From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 07:16:47 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 77B16FC9; Mon, 10 Feb 2014 07:16:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 628861BED; Mon, 10 Feb 2014 07:16:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1A7Gl2F075453; Mon, 10 Feb 2014 07:16:47 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1A7GljI075452; Mon, 10 Feb 2014 07:16:47 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201402100716.s1A7GljI075452@svn.freebsd.org> From: Glen Barber Date: Mon, 10 Feb 2014 07:16:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261706 - stable/10/release X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 07:16:47 -0000 Author: gjb Date: Mon Feb 10 07:16:46 2014 New Revision: 261706 URL: http://svnweb.freebsd.org/changeset/base/261706 Log: Run ldconfig(8) rc script before building ports so ld-elf.so.hints exists for pkg(8). This is a direct commit to stable/10 as generate-release.sh does not exist in head/. PR: 186554 Sponsored by: The FreeBSD Foundation Modified: stable/10/release/generate-release.sh Modified: stable/10/release/generate-release.sh ============================================================================== --- stable/10/release/generate-release.sh Mon Feb 10 06:29:05 2014 (r261705) +++ stable/10/release/generate-release.sh Mon Feb 10 07:16:46 2014 (r261706) @@ -109,6 +109,7 @@ if [ -d ${CHROOTDIR}/usr/doc ]; then cp /etc/resolv.conf ${CHROOTDIR}/etc/resolv.conf # Install docproj to build release documentation + ${CHROOT_CMD} /etc/rc.d/ldconfig forcerestart ${CHROOT_CMD} /bin/sh -c \ 'make -C /usr/ports/textproc/docproj \ BATCH=yes \ From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 15:23:41 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 627B528F; Mon, 10 Feb 2014 15:23:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4BEAA17A9; Mon, 10 Feb 2014 15:23:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1AFNf8A080995; Mon, 10 Feb 2014 15:23:41 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1AFNfWx080994; Mon, 10 Feb 2014 15:23:41 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201402101523.s1AFNfWx080994@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Mon, 10 Feb 2014 15:23:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261716 - stable/10/sys/netinet6 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 15:23:41 -0000 Author: ae Date: Mon Feb 10 15:23:40 2014 New Revision: 261716 URL: http://svnweb.freebsd.org/changeset/base/261716 Log: MFC r261400: Take exclusive lock only when lle isn't NULL. We don't need write access to lle in most cases. MFC r261583: Unlock entry before retry. Sponsored by: Yandex LLC Modified: stable/10/sys/netinet6/nd6.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/netinet6/nd6.c ============================================================================== --- stable/10/sys/netinet6/nd6.c Mon Feb 10 15:12:59 2014 (r261715) +++ stable/10/sys/netinet6/nd6.c Mon Feb 10 15:23:40 2014 (r261716) @@ -1888,7 +1888,7 @@ nd6_output_lle(struct ifnet *ifp, struct * or an anycast address(i.e. not a multicast). */ - flags = ((m != NULL) || (lle != NULL)) ? LLE_EXCLUSIVE : 0; + flags = (lle != NULL) ? LLE_EXCLUSIVE : 0; if (ln == NULL) { retry: IF_AFDATA_RLOCK(ifp); @@ -1924,6 +1924,7 @@ nd6_output_lle(struct ifnet *ifp, struct ln->ln_state < ND6_LLINFO_REACHABLE) { if ((flags & LLE_EXCLUSIVE) == 0) { flags |= LLE_EXCLUSIVE; + LLE_RUNLOCK(ln); goto retry; } ln->ln_state = ND6_LLINFO_STALE; From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 16:29:51 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5E7097B2; Mon, 10 Feb 2014 16:29:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 47F861D3A; Mon, 10 Feb 2014 16:29:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1AGTpHp004453; Mon, 10 Feb 2014 16:29:51 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1AGTptJ004452; Mon, 10 Feb 2014 16:29:51 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201402101629.s1AGTptJ004452@svn.freebsd.org> From: Alexander Motin Date: Mon, 10 Feb 2014 16:29:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261718 - stable/10/sys/dev/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 16:29:51 -0000 Author: mav Date: Mon Feb 10 16:29:50 2014 New Revision: 261718 URL: http://svnweb.freebsd.org/changeset/base/261718 Log: MFC r261515: Fix I/O freezes in some cases, caused by r257916. Delaying isp_reqodx update, we should be ready to update it every time we read it. Otherwise requests using several indexes may be requeued ndefinitely without ever updating the variable. Modified: stable/10/sys/dev/isp/isp_library.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp_library.c ============================================================================== --- stable/10/sys/dev/isp/isp_library.c Mon Feb 10 16:13:45 2014 (r261717) +++ stable/10/sys/dev/isp/isp_library.c Mon Feb 10 16:29:50 2014 (r261718) @@ -144,7 +144,9 @@ isp_send_cmd(ispsoftc_t *isp, void *fqe, while (seg < nsegs) { nxtnxt = ISP_NXT_QENTRY(nxt, RQUEST_QUEUE_LEN(isp)); if (nxtnxt == isp->isp_reqodx) { - return (CMD_EAGAIN); + isp->isp_reqodx = ISP_READ(isp, isp->isp_rqstoutrp); + if (nxtnxt == isp->isp_reqodx) + return (CMD_EAGAIN); } ISP_MEMZERO(storage, QENTRY_LEN); qe1 = ISP_QUEUE_ENTRY(isp->isp_rquest, nxt); @@ -2210,7 +2212,9 @@ isp_send_tgt_cmd(ispsoftc_t *isp, void * while (seg < nsegs) { nxtnxt = ISP_NXT_QENTRY(nxt, RQUEST_QUEUE_LEN(isp)); if (nxtnxt == isp->isp_reqodx) { - return (CMD_EAGAIN); + isp->isp_reqodx = ISP_READ(isp, isp->isp_rqstoutrp); + if (nxtnxt == isp->isp_reqodx) + return (CMD_EAGAIN); } ISP_MEMZERO(storage, QENTRY_LEN); qe1 = ISP_QUEUE_ENTRY(isp->isp_rquest, nxt); From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 17:37:34 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C80DE60D; Mon, 10 Feb 2014 17:37:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id B258414E3; Mon, 10 Feb 2014 17:37:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1AHbYaL032356; Mon, 10 Feb 2014 17:37:34 GMT (envelope-from wblock@svn.freebsd.org) Received: (from wblock@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1AHbYLt032355; Mon, 10 Feb 2014 17:37:34 GMT (envelope-from wblock@svn.freebsd.org) Message-Id: <201402101737.s1AHbYLt032355@svn.freebsd.org> From: Warren Block Date: Mon, 10 Feb 2014 17:37:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261720 - stable/10/sys/boot/i386/gptboot X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 17:37:34 -0000 Author: wblock (doc committer) Date: Mon Feb 10 17:37:34 2014 New Revision: 261720 URL: http://svnweb.freebsd.org/changeset/base/261720 Log: MFC r261522: Describe the use of a freebsd-boot GPT partition, brought up by Scot Hetzel on the -doc mailing list. Also modify the Author section to be clear that I wrote the man page, not gptboot. Modified: stable/10/sys/boot/i386/gptboot/gptboot.8 Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/boot/i386/gptboot/gptboot.8 ============================================================================== --- stable/10/sys/boot/i386/gptboot/gptboot.8 Mon Feb 10 16:40:13 2014 (r261719) +++ stable/10/sys/boot/i386/gptboot/gptboot.8 Mon Feb 10 17:37:34 2014 (r261720) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 3, 2013 +.Dd February 5, 2014 .Dt GPTBOOT 8 .Os .Sh NAME @@ -190,12 +190,18 @@ parameters for the boot blocks .El .Sh EXAMPLES .Nm -is typically installed in combination with a +is installed in a +.Cm freebsd-boot +partition, usually the first partition on the disk. +A .Dq protective MBR .Po see .Xr gpart 8 -.Pc . +.Pc +is typically installed in combination with +.Nm . +.Pp Install .Nm on the @@ -235,4 +241,5 @@ gpart set -a bootonce -i 2 ada0 .Nm appeared in FreeBSD 7.1. .Sh AUTHORS -Warren Block +.An +This manual page written by Warren Block . From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 20:25:41 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2B035E40; Mon, 10 Feb 2014 20:25:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 146761585; Mon, 10 Feb 2014 20:25:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1AKPe0a099901; Mon, 10 Feb 2014 20:25:40 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1AKPewB099900; Mon, 10 Feb 2014 20:25:40 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201402102025.s1AKPewB099900@svn.freebsd.org> From: Dimitry Andric Date: Mon, 10 Feb 2014 20:25:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261727 - in stable: 10/contrib/libcxxrt 9/contrib/libcxxrt X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 20:25:41 -0000 Author: dim Date: Mon Feb 10 20:25:40 2014 New Revision: 261727 URL: http://svnweb.freebsd.org/changeset/base/261727 Log: MFC r261609: Pull in upstream libcxxrt commit 8006101, which makes its cxxabi.h file compilable just by itself. PR: kern/184019 Modified: stable/10/contrib/libcxxrt/cxxabi.h Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/9/contrib/libcxxrt/cxxabi.h Directory Properties: stable/9/ (props changed) stable/9/contrib/libcxxrt/ (props changed) Modified: stable/10/contrib/libcxxrt/cxxabi.h ============================================================================== --- stable/10/contrib/libcxxrt/cxxabi.h Mon Feb 10 20:09:10 2014 (r261726) +++ stable/10/contrib/libcxxrt/cxxabi.h Mon Feb 10 20:25:40 2014 (r261727) @@ -22,6 +22,7 @@ #ifndef __CXXABI_H_ #define __CXXABI_H_ +#include #include #include "unwind.h" namespace std From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 22:16:23 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 92D4C22D; Mon, 10 Feb 2014 22:16:23 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7B3AA1FAC; Mon, 10 Feb 2014 22:16:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1AMGNth043486; Mon, 10 Feb 2014 22:16:23 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1AMGNbw043485; Mon, 10 Feb 2014 22:16:23 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402102216.s1AMGNbw043485@svn.freebsd.org> From: Christian Brueffer Date: Mon, 10 Feb 2014 22:16:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261729 - stable/10/lib/libc/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 22:16:23 -0000 Author: brueffer Date: Mon Feb 10 22:16:22 2014 New Revision: 261729 URL: http://svnweb.freebsd.org/changeset/base/261729 Log: MFC: r261447 Fix a typo. Modified: stable/10/lib/libc/sys/cap_enter.2 Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/sys/cap_enter.2 ============================================================================== --- stable/10/lib/libc/sys/cap_enter.2 Mon Feb 10 21:20:42 2014 (r261728) +++ stable/10/lib/libc/sys/cap_enter.2 Mon Feb 10 22:16:22 2014 (r261729) @@ -52,7 +52,7 @@ Access to global name spaces, such as fi prevented. If the process is already in a capability mode sandbox, the system call is a no-op. -Future process descendants create with +Future process descendants created with .Xr fork 2 or .Xr pdfork 2 From owner-svn-src-stable-10@FreeBSD.ORG Mon Feb 10 22:24:49 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E3933757; Mon, 10 Feb 2014 22:24:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CC5CC10A9; Mon, 10 Feb 2014 22:24:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1AMOnEf047132; Mon, 10 Feb 2014 22:24:49 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1AMOnis047131; Mon, 10 Feb 2014 22:24:49 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402102224.s1AMOnis047131@svn.freebsd.org> From: Christian Brueffer Date: Mon, 10 Feb 2014 22:24:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261731 - stable/10/share/man/man4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2014 22:24:50 -0000 Author: brueffer Date: Mon Feb 10 22:24:49 2014 New Revision: 261731 URL: http://svnweb.freebsd.org/changeset/base/261731 Log: MFC: r261339 MLINK ixgbe.4 to {if_ix.4, ix.4}. An update for ixgbe.4 which deals with the "ix prefix being shared by two drivers" situation is forthcoming. Modified: stable/10/share/man/man4/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/Makefile ============================================================================== --- stable/10/share/man/man4/Makefile Mon Feb 10 22:21:22 2014 (r261730) +++ stable/10/share/man/man4/Makefile Mon Feb 10 22:24:49 2014 (r261731) @@ -635,6 +635,8 @@ MLINKS+=ipw.4 if_ipw.4 MLINKS+=iwi.4 if_iwi.4 MLINKS+=iwn.4 if_iwn.4 MLINKS+=ixgb.4 if_ixgb.4 +MLINKS+=ixgbe.4 ix.4 +MLINKS+=ixgbe.4 if_ix.4 MLINKS+=ixgbe.4 if_ixgbe.4 MLINKS+=jme.4 if_jme.4 MLINKS+=kue.4 if_kue.4 From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 08:08:53 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B1F95DEE; Tue, 11 Feb 2014 08:08:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 9CA5E1504; Tue, 11 Feb 2014 08:08:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1B88rjh075942; Tue, 11 Feb 2014 08:08:53 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1B88rld075941; Tue, 11 Feb 2014 08:08:53 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402110808.s1B88rld075941@svn.freebsd.org> From: Christian Brueffer Date: Tue, 11 Feb 2014 08:08:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261738 - stable/10/share/man/man4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 08:08:53 -0000 Author: brueffer Date: Tue Feb 11 08:08:53 2014 New Revision: 261738 URL: http://svnweb.freebsd.org/changeset/base/261738 Log: MFC: r261494 Actually install acpi_rapidstart.4. Modified: stable/10/share/man/man4/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/Makefile ============================================================================== --- stable/10/share/man/man4/Makefile Tue Feb 11 08:02:02 2014 (r261737) +++ stable/10/share/man/man4/Makefile Tue Feb 11 08:08:53 2014 (r261738) @@ -13,6 +13,7 @@ MAN= aac.4 \ ${_acpi_hp.4} \ ${_acpi_ibm.4} \ ${_acpi_panasonic.4} \ + ${_acpi_rapidstart.4} \ ${_acpi_sony.4} \ acpi_thermal.4 \ ${_acpi_toshiba.4} \ @@ -733,6 +734,7 @@ _acpi_fujitsu.4=acpi_fujitsu.4 _acpi_hp.4= acpi_hp.4 _acpi_ibm.4= acpi_ibm.4 _acpi_panasonic.4=acpi_panasonic.4 +_acpi_rapidstart.4=acpi_rapidstart.4 _acpi_sony.4= acpi_sony.4 _acpi_toshiba.4=acpi_toshiba.4 _acpi_wmi.4= acpi_wmi.4 From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 08:11:35 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5840AF8C; Tue, 11 Feb 2014 08:11:35 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 42BD515A0; Tue, 11 Feb 2014 08:11:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1B8BZi6079087; Tue, 11 Feb 2014 08:11:35 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1B8BYMv079085; Tue, 11 Feb 2014 08:11:34 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402110811.s1B8BYMv079085@svn.freebsd.org> From: Christian Brueffer Date: Tue, 11 Feb 2014 08:11:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261739 - in stable/10/release/doc: en_US.ISO8859-1/hardware share/misc X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 08:11:35 -0000 Author: brueffer Date: Tue Feb 11 08:11:34 2014 New Revision: 261739 URL: http://svnweb.freebsd.org/changeset/base/261739 Log: MFC: r261487 Add qlxgbe(4) and qlxge(4) to the hardware notes. Modified: stable/10/release/doc/en_US.ISO8859-1/hardware/article.xml stable/10/release/doc/share/misc/dev.archlist.txt Directory Properties: stable/10/ (props changed) Modified: stable/10/release/doc/en_US.ISO8859-1/hardware/article.xml ============================================================================== --- stable/10/release/doc/en_US.ISO8859-1/hardware/article.xml Tue Feb 11 08:08:53 2014 (r261738) +++ stable/10/release/doc/en_US.ISO8859-1/hardware/article.xml Tue Feb 11 08:11:34 2014 (r261739) @@ -893,6 +893,10 @@ &hwlist.qlxgb; + &hwlist.qlxgbe; + + &hwlist.qlxge; + &hwlist.re; &hwlist.rl; Modified: stable/10/release/doc/share/misc/dev.archlist.txt ============================================================================== --- stable/10/release/doc/share/misc/dev.archlist.txt Tue Feb 11 08:08:53 2014 (r261738) +++ stable/10/release/doc/share/misc/dev.archlist.txt Tue Feb 11 08:11:34 2014 (r261739) @@ -105,6 +105,8 @@ oltr i386 pcn i386,pc98,ia64,amd64 pst i386 qlxgb amd64 +qlxgbe amd64 +qlxge amd64 rc i386 ral i386,amd64 rue i386,pc98,amd64 From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 08:20:46 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 517F8552; Tue, 11 Feb 2014 08:20:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3A55E15F3; Tue, 11 Feb 2014 08:20:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1B8Kk32082260; Tue, 11 Feb 2014 08:20:46 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1B8KkbQ082259; Tue, 11 Feb 2014 08:20:46 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402110820.s1B8KkbQ082259@svn.freebsd.org> From: Christian Brueffer Date: Tue, 11 Feb 2014 08:20:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261741 - stable/10/sbin/mount_udf X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 08:20:46 -0000 Author: brueffer Date: Tue Feb 11 08:20:45 2014 New Revision: 261741 URL: http://svnweb.freebsd.org/changeset/base/261741 Log: MFC: r261496 Unbreak mount_udf by passing the correct iovec length into nmount(). This has been broken since r247861. PR: bin/186193 Submitted by: Arnot Belohlavek Modified: stable/10/sbin/mount_udf/mount_udf.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/mount_udf/mount_udf.c ============================================================================== --- stable/10/sbin/mount_udf/mount_udf.c Tue Feb 11 08:15:40 2014 (r261740) +++ stable/10/sbin/mount_udf/mount_udf.c Tue Feb 11 08:20:45 2014 (r261741) @@ -77,9 +77,9 @@ main(int argc, char **argv) char fstype[] = "udf"; struct iovec *iov; char *cs_disk, *cs_local, *dev, *dir; - int ch, i, iovlen, mntflags, udf_flags, verbose; + int ch, iovlen, mntflags, udf_flags, verbose; - i = iovlen = mntflags = udf_flags = verbose = 0; + iovlen = mntflags = udf_flags = verbose = 0; cs_disk = cs_local = NULL; iov = NULL; while ((ch = getopt(argc, argv, "o:vC:")) != -1) @@ -129,7 +129,7 @@ main(int argc, char **argv) build_iovec(&iov, &iovlen, "cs_disk", cs_disk, (size_t)-1); build_iovec(&iov, &iovlen, "cs_local", cs_local, (size_t)-1); } - if (nmount(iov, i, mntflags) < 0) + if (nmount(iov, iovlen, mntflags) < 0) err(1, "%s", dev); exit(0); } From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 11:56:51 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4AA66A0B; Tue, 11 Feb 2014 11:56:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 357DE18E2; Tue, 11 Feb 2014 11:56:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1BBupej066907; Tue, 11 Feb 2014 11:56:51 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1BBupqO066906; Tue, 11 Feb 2014 11:56:51 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201402111156.s1BBupqO066906@svn.freebsd.org> From: Edward Tomasz Napierala Date: Tue, 11 Feb 2014 11:56:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261769 - stable/10/usr.bin/iscsictl X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 11:56:51 -0000 Author: trasz Date: Tue Feb 11 11:56:50 2014 New Revision: 261769 URL: http://svnweb.freebsd.org/changeset/base/261769 Log: MFC r260255: Properly document -u and -s. Sponsored by: The FreeBSD Foundation Modified: stable/10/usr.bin/iscsictl/iscsictl.8 Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.bin/iscsictl/iscsictl.8 ============================================================================== --- stable/10/usr.bin/iscsictl/iscsictl.8 Tue Feb 11 11:38:44 2014 (r261768) +++ stable/10/usr.bin/iscsictl/iscsictl.8 Tue Feb 11 11:56:50 2014 (r261769) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 30, 2013 +.Dd January 4, 2014 .Dt ISCSICTL 8 .Os .Sh NAME @@ -88,8 +88,12 @@ and the temporary discovery sesion will The "nickname" of session defined in the configuration file. .It Fl p Target portal - host name or address - for statically defined targets. +.It Fl s +CHAP secret. .It Fl t Target name. +.It Fl u +CHAP login. .It Fl v Verbose mode. .El From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 11:58:54 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C2F1BB52; Tue, 11 Feb 2014 11:58:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AD7A118EF; Tue, 11 Feb 2014 11:58:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1BBws6F067149; Tue, 11 Feb 2014 11:58:54 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1BBwsi4067148; Tue, 11 Feb 2014 11:58:54 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201402111158.s1BBwsi4067148@svn.freebsd.org> From: Edward Tomasz Napierala Date: Tue, 11 Feb 2014 11:58:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261770 - stable/10/sys/dev/iscsi X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 11:58:54 -0000 Author: trasz Date: Tue Feb 11 11:58:54 2014 New Revision: 261770 URL: http://svnweb.freebsd.org/changeset/base/261770 Log: MFC r260083: Fix extremely slow operation with data digests enabled. This was caused by receive code waiting for data digest even when the data segment was empty. It didn't actually read it, but it waited until those four bytes become available in the socket buffer, i.e. until any other PDU (e.g. NOP) came in. Sponsored by: The FreeBSD Foundation Modified: stable/10/sys/dev/iscsi/icl.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/iscsi/icl.c ============================================================================== --- stable/10/sys/dev/iscsi/icl.c Tue Feb 11 11:56:50 2014 (r261769) +++ stable/10/sys/dev/iscsi/icl.c Tue Feb 11 11:58:54 2014 (r261770) @@ -239,7 +239,7 @@ icl_pdu_size(const struct icl_pdu *respo icl_pdu_padding(response); if (response->ip_conn->ic_header_crc32c) len += ISCSI_HEADER_DIGEST_SIZE; - if (response->ip_conn->ic_data_crc32c) + if (response->ip_data_len != 0 && response->ip_conn->ic_data_crc32c) len += ISCSI_DATA_DIGEST_SIZE; return (len); @@ -615,7 +615,7 @@ icl_conn_receive_pdu(struct icl_conn *ic break; ic->ic_receive_state = ICL_CONN_STATE_DATA_DIGEST; - if (ic->ic_data_crc32c == false) + if (request->ip_data_len == 0 || ic->ic_data_crc32c == false) ic->ic_receive_len = 0; else ic->ic_receive_len = ISCSI_DATA_DIGEST_SIZE; From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 12:01:11 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BDE30CCC; Tue, 11 Feb 2014 12:01:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A2DC1197B; Tue, 11 Feb 2014 12:01:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1BC1Bwl068611; Tue, 11 Feb 2014 12:01:11 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1BC1BYO068610; Tue, 11 Feb 2014 12:01:11 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201402111201.s1BC1BYO068610@svn.freebsd.org> From: Edward Tomasz Napierala Date: Tue, 11 Feb 2014 12:01:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261771 - stable/10/sys/dev/iscsi X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 12:01:11 -0000 Author: trasz Date: Tue Feb 11 12:01:11 2014 New Revision: 261771 URL: http://svnweb.freebsd.org/changeset/base/261771 Log: MFC r260389: Fix a rare "truncated checksums" problem, which manifested like this: WARNING: icl_pdu_check_data_digest: data digest check failed; got 0xf23b, should be 0xdb7f23b Sponsored by: The FreeBSD Foundation Modified: stable/10/sys/dev/iscsi/icl.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/iscsi/icl.c ============================================================================== --- stable/10/sys/dev/iscsi/icl.c Tue Feb 11 11:58:54 2014 (r261770) +++ stable/10/sys/dev/iscsi/icl.c Tue Feb 11 12:01:11 2014 (r261771) @@ -324,7 +324,7 @@ icl_pdu_check_header_digest(struct icl_p } CTASSERT(sizeof(received_digest) == ISCSI_HEADER_DIGEST_SIZE); - memcpy(&received_digest, mtod(m, void *), ISCSI_HEADER_DIGEST_SIZE); + m_copydata(m, 0, ISCSI_HEADER_DIGEST_SIZE, (void *)&received_digest); m_freem(m); *availablep -= ISCSI_HEADER_DIGEST_SIZE; @@ -482,7 +482,7 @@ icl_pdu_check_data_digest(struct icl_pdu } CTASSERT(sizeof(received_digest) == ISCSI_DATA_DIGEST_SIZE); - memcpy(&received_digest, mtod(m, void *), ISCSI_DATA_DIGEST_SIZE); + m_copydata(m, 0, ISCSI_DATA_DIGEST_SIZE, (void *)&received_digest); m_freem(m); *availablep -= ISCSI_DATA_DIGEST_SIZE; From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 13:33:03 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9D507757; Tue, 11 Feb 2014 13:33:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7D40B1317; Tue, 11 Feb 2014 13:33:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1BDX3Fd005211; Tue, 11 Feb 2014 13:33:03 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1BDX39j005210; Tue, 11 Feb 2014 13:33:03 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402111333.s1BDX39j005210@svn.freebsd.org> From: Christian Brueffer Date: Tue, 11 Feb 2014 13:33:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261772 - stable/10/sbin/etherswitchcfg X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 13:33:03 -0000 Author: brueffer Date: Tue Feb 11 13:33:03 2014 New Revision: 261772 URL: http://svnweb.freebsd.org/changeset/base/261772 Log: MFC: r261500 Add a license (1) and do some cleanup. Approved by: Stefan Bethke (original author, by private mail) (1) Modified: stable/10/sbin/etherswitchcfg/etherswitchcfg.8 Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/etherswitchcfg/etherswitchcfg.8 ============================================================================== --- stable/10/sbin/etherswitchcfg/etherswitchcfg.8 Tue Feb 11 12:01:11 2014 (r261771) +++ stable/10/sbin/etherswitchcfg/etherswitchcfg.8 Tue Feb 11 13:33:03 2014 (r261772) @@ -1,4 +1,29 @@ +.\" Copyright (c) 2011-2012 Stefan Bethke. +.\" 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 AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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$ +.\" .Dd September 20, 2013 .Dt ETHERSWITCHCFG 8 .Os @@ -35,13 +60,14 @@ The utility is used to configure an Ethernet switch built into the system. .Nm accepts a number of options: +.Pp .Bl -tag -width ".Fl f" -compact .It Fl "f control file" Specifies the .Xr etherswitch 4 control file that represents the switch to be configured. It defaults to -.Li /dev/etherswitch0 . +.Pa /dev/etherswitch0 . .It Fl m When reporting port information, also list available media options for that port. @@ -54,6 +80,7 @@ options are omitted. The config command provides access to global switch configuration parameters. It support the following commands: +.Pp .Bl -tag -width ".Ar vlan_mode mode" -compact .It Ar vlan_mode mode Sets the switch VLAN mode (depends on the hardware). @@ -74,6 +101,7 @@ To set the register value, use the form .Ss port The port command selects one of the ports of the switch. It supports the following commands: +.Pp .Bl -tag -width ".Ar pvid number" -compact .It Ar pvid number Sets the default port VID that is used to process incoming frames that are not tagged. @@ -88,8 +116,10 @@ for details on and .Ar mediaopt . .El +.Pp And the following flags (please note that not all flags -are supporterd by all switch drivers): +are supported by all switch drivers): +.Pp .Bl -tag -width ".Ar addtag" -compact .It Ar addtag Add VLAN tag to each packet sent by the port. @@ -100,7 +130,7 @@ Strip the VLAN tags from the packets sen .It Ar -striptag Disable the strip VLAN tag option. .It Ar firstlock -This options makes the switch port lock on the first MAC address it seems. +This options makes the switch port lock on the first MAC address it sees. After that, usually you need to reset the switch to learn different MAC addresses. .It Ar -firstlock @@ -125,6 +155,7 @@ The reg command provides access to the r .Ss vlangroup The vlangroup command selects one of the VLAN groups for configuration. It supports the following commands: +.Pp .Bl -tag -width ".Ar vlangroup" -compact .It Ar vlan VID Sets the VLAN ID (802.1q VID) for this VLAN group. @@ -142,13 +173,14 @@ to indicate that frames on this port are .Sh FILES .Bl -tag -width /dev/etherswitch? -compact .It Pa /dev/etherswitch? -Control file for the ethernet switch driver. +Control file for the Ethernet switch driver. .El .Sh EXAMPLES Configure VLAN group 1 with a VID of 2 and make ports 0 and 5 its members while excluding all other ports. Port 5 will send and receive tagged frames while port 0 will be untagged. Incoming untagged frames on port 0 are assigned to vlangroup1. +.Pp .Dl # etherswitchcfg vlangroup1 vlan 2 members 0,5t port0 pvid 2 .Sh SEE ALSO .Xr etherswitch 4 From owner-svn-src-stable-10@FreeBSD.ORG Tue Feb 11 23:11:12 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 375AD97E; Tue, 11 Feb 2014 23:11:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AE5F81D20; Tue, 11 Feb 2014 23:11:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1BNBBJj060490; Tue, 11 Feb 2014 23:11:11 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1BNBB0a060489; Tue, 11 Feb 2014 23:11:11 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201402112311.s1BNBB0a060489@svn.freebsd.org> From: Hiroki Sato Date: Tue, 11 Feb 2014 23:11:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261784 - stable/10/release/doc/en_US.ISO8859-1/errata X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Feb 2014 23:11:12 -0000 Author: hrs Date: Tue Feb 11 23:11:11 2014 New Revision: 261784 URL: http://svnweb.freebsd.org/changeset/base/261784 Log: Docuemnt mount_udf(8) issue. Submitted by: brueffer Modified: stable/10/release/doc/en_US.ISO8859-1/errata/article.xml Modified: stable/10/release/doc/en_US.ISO8859-1/errata/article.xml ============================================================================== --- stable/10/release/doc/en_US.ISO8859-1/errata/article.xml Tue Feb 11 22:09:03 2014 (r261783) +++ stable/10/release/doc/en_US.ISO8859-1/errata/article.xml Tue Feb 11 23:11:11 2014 (r261784) @@ -233,6 +233,12 @@ boot on &os;-CURRENT and will be fixed in &os; &release.current;. + + + The &man.mount.udf.8; utility has a bug which prevents + it from mounting any UDF file system. This has been fixed + in &os;-CURRENT and &os; &release.current;. + From owner-svn-src-stable-10@FreeBSD.ORG Wed Feb 12 07:18:02 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7926CB9D; Wed, 12 Feb 2014 07:18:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 49C271FC7; Wed, 12 Feb 2014 07:18:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1C7I2fd054212; Wed, 12 Feb 2014 07:18:02 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1C7I11L054210; Wed, 12 Feb 2014 07:18:01 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201402120718.s1C7I11L054210@svn.freebsd.org> From: Hans Petter Selasky Date: Wed, 12 Feb 2014 07:18:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261792 - stable/10/sys/dev/sound/pci/hda X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Feb 2014 07:18:02 -0000 Author: hselasky Date: Wed Feb 12 07:18:01 2014 New Revision: 261792 URL: http://svnweb.freebsd.org/changeset/base/261792 Log: MFC r261507: Add more quirks for making builtin audio speakers work with more MacBookPro's. Only tested with MacBookPro 9,2. Obtained from: Linux Modified: stable/10/sys/dev/sound/pci/hda/hdaa_patches.c stable/10/sys/dev/sound/pci/hda/hdac.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/sound/pci/hda/hdaa_patches.c ============================================================================== --- stable/10/sys/dev/sound/pci/hda/hdaa_patches.c Wed Feb 12 04:56:34 2014 (r261791) +++ stable/10/sys/dev/sound/pci/hda/hdaa_patches.c Wed Feb 12 07:18:01 2014 (r261792) @@ -107,9 +107,18 @@ static const struct { { APPLE_INTEL_MAC, HDA_CODEC_STAC9221, HDA_MATCH_ALL, 0, 0, HDAA_GPIO_SET(0) | HDAA_GPIO_SET(1) }, + { APPLE_MACBOOKAIR31, HDA_CODEC_CS4206, HDA_MATCH_ALL, + 0, 0, + HDAA_GPIO_SET(1) | HDAA_GPIO_SET(3) }, { APPLE_MACBOOKPRO55, HDA_CODEC_CS4206, HDA_MATCH_ALL, 0, 0, HDAA_GPIO_SET(1) | HDAA_GPIO_SET(3) }, + { APPLE_MACBOOKPRO71, HDA_CODEC_CS4206, HDA_MATCH_ALL, + 0, 0, + HDAA_GPIO_SET(1) | HDAA_GPIO_SET(3) }, + { HDA_INTEL_MACBOOKPRO92, HDA_CODEC_CS4206, HDA_MATCH_ALL, + 0, 0, + HDAA_GPIO_SET(1) | HDAA_GPIO_SET(3) }, { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205X, HDA_MATCH_ALL, 0, 0, HDAA_GPIO_SET(0) }, Modified: stable/10/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- stable/10/sys/dev/sound/pci/hda/hdac.h Wed Feb 12 04:56:34 2014 (r261791) +++ stable/10/sys/dev/sound/pci/hda/hdac.h Wed Feb 12 07:18:01 2014 (r261792) @@ -58,6 +58,7 @@ #define HDA_INTEL_82801JD HDA_MODEL_CONSTRUCT(INTEL, 0x3a6e) #define HDA_INTEL_PCH HDA_MODEL_CONSTRUCT(INTEL, 0x3b56) #define HDA_INTEL_PCH2 HDA_MODEL_CONSTRUCT(INTEL, 0x3b57) +#define HDA_INTEL_MACBOOKPRO92 HDA_MODEL_CONSTRUCT(INTEL, 0x7270) #define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) #define HDA_INTEL_LPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x8c20) #define HDA_INTEL_LPT2 HDA_MODEL_CONSTRUCT(INTEL, 0x8c21) @@ -266,7 +267,9 @@ * (see HDA_CODEC_STAC9221 below). */ #define APPLE_INTEL_MAC 0x76808384 +#define APPLE_MACBOOKAIR31 0x0d9410de #define APPLE_MACBOOKPRO55 0xcb7910de +#define APPLE_MACBOOKPRO71 0xcb8910de /* LG Electronics */ #define LG_VENDORID 0x1854 From owner-svn-src-stable-10@FreeBSD.ORG Wed Feb 12 07:51:16 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0DC805DE; Wed, 12 Feb 2014 07:51:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CFE9D12A9; Wed, 12 Feb 2014 07:51:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1C7pF03068302; Wed, 12 Feb 2014 07:51:15 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1C7pFjN068301; Wed, 12 Feb 2014 07:51:15 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201402120751.s1C7pFjN068301@svn.freebsd.org> From: Dimitry Andric Date: Wed, 12 Feb 2014 07:51:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261794 - in stable: 10/contrib/llvm/tools/clang/lib/Sema 9/contrib/llvm/tools/clang/lib/Sema X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Feb 2014 07:51:16 -0000 Author: dim Date: Wed Feb 12 07:51:14 2014 New Revision: 261794 URL: http://svnweb.freebsd.org/changeset/base/261794 Log: MFC r261680: Pull in r200899 from upstream clang trunk: Allow transformation of VariableArray to ConstantArray. In the following code: struct A { static const int sz; }; template void f() { T arr[A::sz]; } the array 'arr' is represented as a variable size array in the template. If 'A::sz' gets value below in the translation unit, the array in instantiation can turn into constant size array. This change fixes PR18633. Differential Revision: http://llvm-reviews.chandlerc.com/D2688 This fixes "Assertion failed: (T::isKind(*this)), function castAs" errors, which can occur when building the security/quantis port. Reported by: ale Modified: stable/10/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/9/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h Directory Properties: stable/9/contrib/llvm/ (props changed) stable/9/contrib/llvm/tools/clang/ (props changed) Modified: stable/10/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h ============================================================================== --- stable/10/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h Wed Feb 12 07:24:37 2014 (r261793) +++ stable/10/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h Wed Feb 12 07:51:14 2014 (r261794) @@ -3837,7 +3837,9 @@ TreeTransform::TransformVariabl return QualType(); } - VariableArrayTypeLoc NewTL = TLB.push(Result); + // We might have constant size array now, but fortunately it has the same + // location layout. + ArrayTypeLoc NewTL = TLB.push(Result); NewTL.setLBracketLoc(TL.getLBracketLoc()); NewTL.setRBracketLoc(TL.getRBracketLoc()); NewTL.setSizeExpr(Size); From owner-svn-src-stable-10@FreeBSD.ORG Wed Feb 12 13:55:31 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 12E8FA00; Wed, 12 Feb 2014 13:55:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F208C1510; Wed, 12 Feb 2014 13:55:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1CDtUit013688; Wed, 12 Feb 2014 13:55:30 GMT (envelope-from rmh@svn.freebsd.org) Received: (from rmh@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1CDtUBA013686; Wed, 12 Feb 2014 13:55:30 GMT (envelope-from rmh@svn.freebsd.org) Message-Id: <201402121355.s1CDtUBA013686@svn.freebsd.org> From: Robert Millan Date: Wed, 12 Feb 2014 13:55:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261798 - stable/10/sys/dev/drm2/radeon X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Feb 2014 13:55:31 -0000 Author: rmh Date: Wed Feb 12 13:55:30 2014 New Revision: 261798 URL: http://svnweb.freebsd.org/changeset/base/261798 Log: MFC r261497: Abort when firmware isn't present in R600+ models. More details at: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/debian/patches/bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch?revision=20909&view=co Modified: stable/10/sys/dev/drm2/radeon/r600.c stable/10/sys/dev/drm2/radeon/rv770.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/drm2/radeon/r600.c ============================================================================== --- stable/10/sys/dev/drm2/radeon/r600.c Wed Feb 12 09:59:48 2014 (r261797) +++ stable/10/sys/dev/drm2/radeon/r600.c Wed Feb 12 13:55:30 2014 (r261798) @@ -3012,6 +3012,12 @@ int r600_init(struct radeon_device *rdev rdev->accel_working = false; } + /* Don't start up if the ucode is missing. */ + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { + DRM_ERROR("radeon: ucode required for R600+.\n"); + return -EINVAL; + } + return 0; } Modified: stable/10/sys/dev/drm2/radeon/rv770.c ============================================================================== --- stable/10/sys/dev/drm2/radeon/rv770.c Wed Feb 12 09:59:48 2014 (r261797) +++ stable/10/sys/dev/drm2/radeon/rv770.c Wed Feb 12 13:55:30 2014 (r261798) @@ -1186,6 +1186,12 @@ int rv770_init(struct radeon_device *rde rdev->accel_working = false; } + /* Don't start up if the ucode is missing. */ + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { + DRM_ERROR("radeon: ucode required for R600+.\n"); + return -EINVAL; + } + return 0; } From owner-svn-src-stable-10@FreeBSD.ORG Thu Feb 13 04:54:47 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A3C956C9; Thu, 13 Feb 2014 04:54:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8B23B173A; Thu, 13 Feb 2014 04:54:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1D4slvN073925; Thu, 13 Feb 2014 04:54:47 GMT (envelope-from markj@svn.freebsd.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1D4sl44073924; Thu, 13 Feb 2014 04:54:47 GMT (envelope-from markj@svn.freebsd.org) Message-Id: <201402130454.s1D4sl44073924@svn.freebsd.org> From: Mark Johnston Date: Thu, 13 Feb 2014 04:54:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261820 - stable/10/usr.sbin/newsyslog X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Feb 2014 04:54:47 -0000 Author: markj Date: Thu Feb 13 04:54:47 2014 New Revision: 261820 URL: http://svnweb.freebsd.org/changeset/base/261820 Log: MFC r257600: Initialize the struct tm before handing it to strptime(3). Modified: stable/10/usr.sbin/newsyslog/newsyslog.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/newsyslog/newsyslog.c ============================================================================== --- stable/10/usr.sbin/newsyslog/newsyslog.c Thu Feb 13 04:13:50 2014 (r261819) +++ stable/10/usr.sbin/newsyslog/newsyslog.c Thu Feb 13 04:54:47 2014 (r261820) @@ -1491,6 +1491,7 @@ validate_old_timelog(int fd, const struc &dp->d_name[logfname_len]); return (0); } + memset(tm, 0, sizeof(*tm)); if ((s = strptime(&dp->d_name[logfname_len + 1], timefnamefmt, tm)) == NULL) { /* From owner-svn-src-stable-10@FreeBSD.ORG Thu Feb 13 09:24:48 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7B48D215; Thu, 13 Feb 2014 09:24:48 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DB8FB1CBD; Thu, 13 Feb 2014 09:24:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1D9OlFw079065; Thu, 13 Feb 2014 09:24:47 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1D9Olqf079060; Thu, 13 Feb 2014 09:24:47 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402130924.s1D9Olqf079060@svn.freebsd.org> From: Christian Brueffer Date: Thu, 13 Feb 2014 09:24:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261828 - in stable/10: sbin/dhclient tools/regression/security/cap_test X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Feb 2014 09:24:48 -0000 Author: brueffer Date: Thu Feb 13 09:24:46 2014 New Revision: 261828 URL: http://svnweb.freebsd.org/changeset/base/261828 Log: MFC: r261566 Use CAP_EVENT instead of the deprecated CAP_POLL_EVENT. PR: 185382 (based on) Submitted by: Loganaden Velvindron Reviewed by: pjd Modified: stable/10/sbin/dhclient/bpf.c stable/10/sbin/dhclient/dhclient.c stable/10/tools/regression/security/cap_test/cap_test_capabilities.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/dhclient/bpf.c ============================================================================== --- stable/10/sbin/dhclient/bpf.c Thu Feb 13 09:09:14 2014 (r261827) +++ stable/10/sbin/dhclient/bpf.c Thu Feb 13 09:24:46 2014 (r261828) @@ -269,7 +269,7 @@ if_register_receive(struct interface_inf if (ioctl(info->rfdesc, BIOCLOCK, NULL) < 0) error("Cannot lock bpf"); - cap_rights_init(&rights, CAP_IOCTL, CAP_POLL_EVENT, CAP_READ); + cap_rights_init(&rights, CAP_IOCTL, CAP_EVENT, CAP_READ); if (cap_rights_limit(info->rfdesc, &rights) < 0 && errno != ENOSYS) error("Can't limit bpf descriptor: %m"); if (cap_ioctls_limit(info->rfdesc, cmds, 2) < 0 && errno != ENOSYS) Modified: stable/10/sbin/dhclient/dhclient.c ============================================================================== --- stable/10/sbin/dhclient/dhclient.c Thu Feb 13 09:09:14 2014 (r261827) +++ stable/10/sbin/dhclient/dhclient.c Thu Feb 13 09:24:46 2014 (r261828) @@ -494,7 +494,7 @@ main(int argc, char *argv[]) add_protocol("AF_ROUTE", routefd, routehandler, ifi); if (shutdown(routefd, SHUT_WR) < 0) error("can't shutdown route socket: %m"); - cap_rights_init(&rights, CAP_POLL_EVENT, CAP_READ); + cap_rights_init(&rights, CAP_EVENT, CAP_READ); if (cap_rights_limit(routefd, &rights) < 0 && errno != ENOSYS) error("can't limit route socket: %m"); Modified: stable/10/tools/regression/security/cap_test/cap_test_capabilities.c ============================================================================== --- stable/10/tools/regression/security/cap_test/cap_test_capabilities.c Thu Feb 13 09:09:14 2014 (r261827) +++ stable/10/tools/regression/security/cap_test/cap_test_capabilities.c Thu Feb 13 09:24:46 2014 (r261828) @@ -396,7 +396,7 @@ try_file_ops(int filefd, int dirfd, cap_ pollfd.revents = 0; ret = poll(&pollfd, 1, 0); - if (rights & CAP_POLL_EVENT) + if (rights & CAP_EVENT) CHECK((pollfd.revents & POLLNVAL) == 0); else CHECK((pollfd.revents & POLLNVAL) != 0); @@ -546,7 +546,7 @@ test_capabilities(void) TRY(CAP_SEM_POST); TRY(CAP_SEM_WAIT); TRY(CAP_POST_EVENT); - TRY(CAP_POLL_EVENT); + TRY(CAP_EVENT); TRY(CAP_IOCTL); TRY(CAP_TTYHOOK); TRY(CAP_PDGETPID); From owner-svn-src-stable-10@FreeBSD.ORG Thu Feb 13 19:46:49 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 12374C26; Thu, 13 Feb 2014 19:46:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E29361A8A; Thu, 13 Feb 2014 19:46:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1DJkmn8027205; Thu, 13 Feb 2014 19:46:48 GMT (envelope-from asomers@svn.freebsd.org) Received: (from asomers@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1DJkm6S027204; Thu, 13 Feb 2014 19:46:48 GMT (envelope-from asomers@svn.freebsd.org) Message-Id: <201402131946.s1DJkm6S027204@svn.freebsd.org> From: Alan Somers Date: Thu, 13 Feb 2014 19:46:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261849 - stable/10 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Feb 2014 19:46:49 -0000 Author: asomers Date: Thu Feb 13 19:46:48 2014 New Revision: 261849 URL: http://svnweb.freebsd.org/changeset/base/261849 Log: MFC r261132 Fix the build so -DNO_TESTS is passed in various phases that don't require tests in order to build or install. Crucially, don't try to install tests during the lib32 install phase. This commit supersedes r261081, which fixed the lib32 install phase problem, but didn't fix other phases. Submitted by: Garrett Cooper Reviewed by: sjg Modified: stable/10/Makefile.inc1 Directory Properties: stable/10/ (props changed) Modified: stable/10/Makefile.inc1 ============================================================================== --- stable/10/Makefile.inc1 Thu Feb 13 19:14:23 2014 (r261848) +++ stable/10/Makefile.inc1 Thu Feb 13 19:46:48 2014 (r261849) @@ -246,7 +246,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ SSP_CFLAGS= \ -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \ -DNO_PIC -DNO_PROFILE -DNO_SHARED \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD -DNO_TESTS # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ @@ -256,12 +256,12 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ -DNO_LINT \ - -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD -DNO_TESTS # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - -DWITHOUT_GDB + -DWITHOUT_GDB -DNO_TESTS # world stage WMAKEENV= ${CROSSENV} \ @@ -399,7 +399,8 @@ LIB32WMAKEFLAGS+= \ -DLIBRARIES_ONLY \ -DNO_CPU_CFLAGS \ -DNO_CTF \ - -DNO_LINT + -DNO_LINT \ + -DNO_TESTS LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \ -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML @@ -553,7 +554,7 @@ _libraries: @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; \ ${WMAKE} -DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ - -DWITHOUT_MAN -DNO_PROFILE libraries + -DWITHOUT_MAN -DNO_PROFILE -DNO_TESTS libraries _depend: @echo @echo "--------------------------------------------------------------" @@ -1494,7 +1495,12 @@ _prebuild_libs= ${_kerberos5_lib_libasn1 ${_secure_lib_libcrypto} ${_lib_libldns} \ ${_secure_lib_libssh} ${_secure_lib_libssl} -.if ${MK_TESTS} != "no" +.if defined(WITH_ATF) || ${MK_TESTS} != "no" +.if !defined(WITH_ATF) +# Ensure that the ATF libraries will be built during make libraries, even +# though they will have -DNO_TESTS +MAKE+= -DWITH_ATF +.endif _lib_atf= lib/atf .endif @@ -1863,7 +1869,7 @@ XDEV_CPUTYPE?=${TARGET_CPUTYPE} NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \ -DWITHOUT_MAN -DWITHOUT_NLS -DNO_PROFILE \ - -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_WARNS \ + -DWITHOUT_KERBEROS -DWITHOUT_RESCUE -DNO_TESTS -DNO_WARNS \ TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ CPUTYPE=${XDEV_CPUTYPE} From owner-svn-src-stable-10@FreeBSD.ORG Thu Feb 13 22:19:26 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F2F53286; Thu, 13 Feb 2014 22:19:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A7BEA1A38; Thu, 13 Feb 2014 22:19:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1DMJPHF087119; Thu, 13 Feb 2014 22:19:25 GMT (envelope-from asomers@svn.freebsd.org) Received: (from asomers@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1DMJPH8087115; Thu, 13 Feb 2014 22:19:25 GMT (envelope-from asomers@svn.freebsd.org) Message-Id: <201402132219.s1DMJPH8087115@svn.freebsd.org> From: Alan Somers Date: Thu, 13 Feb 2014 22:19:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261857 - in stable/10: etc/mtree tests tests/sys tools/regression/sockets/unix_seqpacket tools/regression/sockets/unix_seqpacket_exercise X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Feb 2014 22:19:26 -0000 Author: asomers Date: Thu Feb 13 22:19:24 2014 New Revision: 261857 URL: http://svnweb.freebsd.org/changeset/base/261857 Log: MFC r261081, r261133, and r261615 r261081 Replace the old unix_seqpacket and unix_seqpacket_exercise tests, which were a little broken and not automatable, with unix_seqpacket_test. It's coverage is a superset of the old tests and it uses ATF. It includes test cases for bugs kern/185813 and kern/185812. r261133 Fix the Makefiles so that the tests I submitted in r261081 will actually get built. r261615 tests/sys/Makefile use TESTS_SUBDIRS for kern instead of SUBDIRS. I don't think it makes a difference in this case, but TESTS_SUBDIRS is generally correct for subdirectories that contain tests. Added: stable/10/tests/sys/ - copied from r261081, head/tests/sys/ Deleted: stable/10/tools/regression/sockets/unix_seqpacket/ stable/10/tools/regression/sockets/unix_seqpacket_exercise/ Modified: stable/10/etc/mtree/BSD.tests.dist stable/10/tests/Makefile stable/10/tests/sys/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/etc/mtree/BSD.tests.dist ============================================================================== --- stable/10/etc/mtree/BSD.tests.dist Thu Feb 13 22:18:27 2014 (r261856) +++ stable/10/etc/mtree/BSD.tests.dist Thu Feb 13 22:19:24 2014 (r261857) @@ -48,6 +48,10 @@ .. .. .. + sys + kern + .. + .. usr.bin atf atf-sh Modified: stable/10/tests/Makefile ============================================================================== --- stable/10/tests/Makefile Thu Feb 13 22:18:27 2014 (r261856) +++ stable/10/tests/Makefile Thu Feb 13 22:19:24 2014 (r261857) @@ -2,7 +2,7 @@ .include -SUBDIR= # still empty +SUBDIR= sys TESTSDIR= ${TESTSBASE} KYUAFILE= yes Modified: stable/10/tests/sys/Makefile ============================================================================== --- head/tests/sys/Makefile Thu Jan 23 17:26:28 2014 (r261081) +++ stable/10/tests/sys/Makefile Thu Feb 13 22:19:24 2014 (r261857) @@ -2,12 +2,11 @@ .include +.PATH: ${.CURDIR}/.. + +TESTS_SUBDIRS+= kern TESTSDIR= ${TESTSBASE}/sys KYUAFILE= yes -CLEANFILES+= Kyuafile -Kyuafile: ${.CURDIR}/../Kyuafile - cp -f ${.CURDIR}/../Kyuafile . - .include From owner-svn-src-stable-10@FreeBSD.ORG Fri Feb 14 00:26:31 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F3C03BAC; Fri, 14 Feb 2014 00:26:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D8C1115FE; Fri, 14 Feb 2014 00:26:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1E0QUfk038638; Fri, 14 Feb 2014 00:26:30 GMT (envelope-from gnn@svn.freebsd.org) Received: (from gnn@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1E0QUOw038637; Fri, 14 Feb 2014 00:26:30 GMT (envelope-from gnn@svn.freebsd.org) Message-Id: <201402140026.s1E0QUOw038637@svn.freebsd.org> From: "George V. Neville-Neil" Date: Fri, 14 Feb 2014 00:26:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261860 - stable/10/sys/net X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 00:26:31 -0000 Author: gnn Date: Fri Feb 14 00:26:30 2014 New Revision: 261860 URL: http://svnweb.freebsd.org/changeset/base/261860 Log: MFC 260207 Convert #defines to enums so that the values are visible in the debugger. Requested by: gibbs Modified: stable/10/sys/net/sff8472.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/net/sff8472.h ============================================================================== --- stable/10/sys/net/sff8472.h Fri Feb 14 00:05:09 2014 (r261859) +++ stable/10/sys/net/sff8472.h Fri Feb 14 00:26:30 2014 (r261860) @@ -62,104 +62,107 @@ /* Table 3.1 Two-wire interface ID: Data Fields */ -#define SFF_8472_BASE 0xa0 /* Base address for all our queries. */ -#define SFF_8472_ID 0 /* Transceiver Type (Table 3.2) */ -#define SFF_8472_EXT_ID 1 /* Extended transceiver type (Table 3.3) */ -#define SFF_8472_CONNECTOR 2 /* Connector type (Table 3.4) */ -#define SFF_8472_TRANS_START 3 /* Elec or Optical Compatibility +enum { + SFF_8472_BASE = 0xa0, /* Base address for all our queries. */ + SFF_8472_ID = 0, /* Transceiver Type (Table 3.2) */ + SFF_8472_EXT_ID = 1, /* Extended transceiver type (Table 3.3) */ + SFF_8472_CONNECTOR = 2, /* Connector type (Table 3.4) */ + SFF_8472_TRANS_START = 3, /* Elec or Optical Compatibility * (Table 3.5) */ -#define SFF_8472_TRANS_END 10 -#define SFF_8472_ENCODING 11 /* Encoding Code for high speed - * serial encoding algorithm (see - * Table 3.6) */ -#define SFF_8472_BITRATE 12 /* Nominal signaling rate, units - * of 100MBd. (see details for - * rates > 25.0Gb/s) */ -#define SFF_8472_RATEID 13 /* Type of rate select - * functionality (see Table - * 3.6a) */ -#define SFF_8472_LEN_SMF_KM 14 /* Link length supported for single + SFF_8472_TRANS_END = 10, + SFF_8472_ENCODING = 11, /* Encoding Code for high speed + * serial encoding algorithm (see + * Table 3.6) */ + SFF_8472_BITRATE = 12, /* Nominal signaling rate, units + * of 100MBd. (see details for + * rates > 25.0Gb/s) */ + SFF_8472_RATEID = 13, /* Type of rate select + * functionality (see Table + * 3.6a) */ + SFF_8472_LEN_SMF_KM = 14, /* Link length supported for single * mode fiber, units of km */ -#define SFF_8472_LEN_SMF 15 /* Link length supported for single + SFF_8472_LEN_SMF = 15, /* Link length supported for single * mode fiber, units of 100 m */ -#define SFF_8472_LEN_50UM 16 /* Link length supported for 50 um + SFF_8472_LEN_50UM = 16, /* Link length supported for 50 um * OM2 fiber, units of 10 m */ -#define SFF_8472_LEN_625UM 17 /* Link length supported for 62.5 + SFF_8472_LEN_625UM = 17, /* Link length supported for 62.5 * um OM1 fiber, units of 10 m */ -#define SFF_8472_LEN_OM4 18 /* Link length supported for 50um + SFF_8472_LEN_OM4 = 18, /* Link length supported for 50um * OM4 fiber, units of 10m. * Alternatively copper or direct * attach cable, units of m */ -#define SFF_8472_LEN_OM3 19 /* Link length supported for 50 um OM3 fiber, units of 10 m */ -#define SFF_8472_VENDOR_START 20 /* Vendor name [Address A0h, Bytes + SFF_8472_LEN_OM3 = 19, /* Link length supported for 50 um OM3 fiber, units of 10 m */ + SFF_8472_VENDOR_START = 20, /* Vendor name [Address A0h, Bytes * 20-35] */ -#define SFF_8472_VENDOR_END 35 -#define SFF_8472_TRANS 36 /* Transceiver Code for electronic + SFF_8472_VENDOR_END = 35, + SFF_8472_TRANS = 36, /* Transceiver Code for electronic * or optical compatibility (see * Table 3.5) */ -#define SFF_8472_VENDOR_OUI_START 37 /* Vendor OUI SFP vendor IEEE + SFF_8472_VENDOR_OUI_START = 37, /* Vendor OUI SFP vendor IEEE * company ID */ -#define SFF_8472_VENDOR_OUI_END 39 -#define SFF_8472_PN_START 40 /* Vendor PN */ -#define SFF_8472_PN_END 55 -#define SFF_8472_REV_START 56 /* Vendor Revision */ -#define SFF_8472_REV_END 59 -#define SFF_8472_WAVELEN_START 60 /* Wavelength Laser wavelength + SFF_8472_VENDOR_OUI_END = 39, + SFF_8472_PN_START = 40, /* Vendor PN */ + SFF_8472_PN_END = 55, + SFF_8472_REV_START = 56, /* Vendor Revision */ + SFF_8472_REV_END = 59, + SFF_8472_WAVELEN_START = 60, /* Wavelength Laser wavelength * (Passive/Active Cable * Specification Compliance) */ -#define SFF_8472_WAVELEN_END 61 -#define SFF_8472_CC_BASE 63 /* CC_BASE Check code for Base ID + SFF_8472_WAVELEN_END = 61, + SFF_8472_CC_BASE = 63, /* CC_BASE Check code for Base ID * Fields (addresses 0 to 62) */ /* * Extension Fields (optional) check the options before reading other * addresses. */ -#define SFF_8472_OPTIONS_MSB 64 /* Options Indicates which optional + SFF_8472_OPTIONS_MSB = 64, /* Options Indicates which optional * transceiver signals are * implemented */ -#define SFF_8472_OPTIONS_LSB 65 /* (see Table 3.7) */ -#define SFF_8472_BR_MAX 66 /* BR max Upper bit rate margin, + SFF_8472_OPTIONS_LSB = 65, /* (see Table 3.7) */ + SFF_8472_BR_MAX = 66, /* BR max Upper bit rate margin, * units of % (see details for * rates > 25.0Gb/s) */ -#define SFF_8472_BR_MIN 67 /* Lower bit rate margin, units of + SFF_8472_BR_MIN = 67, /* Lower bit rate margin, units of * % (see details for rates > * 25.0Gb/s) */ -#define SFF_8472_SN_START 68 /* Vendor SN [Address A0h, Bytes 68-83] */ -#define SFF_8472_SN_END 83 -#define SFF_8472_DATE_START 84 /* Date code Vendor’s manufacturing + SFF_8472_SN_START = 68, /* Vendor SN [Address A0h, Bytes 68-83] */ + SFF_8472_SN_END = 83, + SFF_8472_DATE_START = 84, /* Date code Vendor’s manufacturing * date code (see Table 3.8) */ -#define SFF_8472_DATE_END 91 -#define SFF_8472_DIAG_TYPE 92 /* Diagnostic Monitoring Type + SFF_8472_DATE_END = 91, + SFF_8472_DIAG_TYPE = 92, /* Diagnostic Monitoring Type * Indicates which type of * diagnostic monitoring is * implemented (if any) in the * transceiver (see Table 3.9) */ -#define SFF_8472_DIAG_IMPL (1 << 6) /* Required to be 1 */ -#define SFF_8472_DIAG_INTERNAL (1 << 5) /* Internal measurements. */ -#define SFF_8472_DIAG_EXTERNAL (1 << 4) /* External measurements. */ -#define SFF_8472_DIAG_POWER (1 << 3) /* Power measurement type */ -#define SFF_8472_DIAG_ADDR_CHG (1 << 2) /* Address change required. - * See SFF-8472 doc. */ -#define SFF_8472_ENHANCED 93 /* Enhanced Options Indicates which + SFF_8472_ENHANCED = 93, /* Enhanced Options Indicates which * optional enhanced features are * implemented (if any) in the * transceiver (see Table 3.10) */ -#define SFF_8472_COMPLIANCE 94 /* SFF-8472 Compliance Indicates + SFF_8472_COMPLIANCE = 94, /* SFF-8472 Compliance Indicates * which revision of SFF-8472 the * transceiver complies with. (see * Table 3.12)*/ -#define SFF_8472_CC_EXT 95 /* Check code for the Extended ID + SFF_8472_CC_EXT = 95, /* Check code for the Extended ID * Fields (addresses 64 to 94) */ -#define SFF_8472_VENDOR_RSRVD_START 96 -#define SFF_8472_VENDOR_RSRVD_END 127 + SFF_8472_VENDOR_RSRVD_START = 96, + SFF_8472_VENDOR_RSRVD_END = 127, -#define SFF_8472_RESERVED_START 128 -#define SFF_8472_RESERVED_END 255 + SFF_8472_RESERVED_START = 128, + SFF_8472_RESERVED_END = 255 +}; + +#define SFF_8472_DIAG_IMPL (1 << 6) /* Required to be 1 */ +#define SFF_8472_DIAG_INTERNAL (1 << 5) /* Internal measurements. */ +#define SFF_8472_DIAG_EXTERNAL (1 << 4) /* External measurements. */ +#define SFF_8472_DIAG_POWER (1 << 3) /* Power measurement type */ +#define SFF_8472_DIAG_ADDR_CHG (1 << 2) /* Address change required. + * See SFF-8472 doc. */ /* * Diagnostics are available at the two wire address 0xa2. All @@ -167,77 +170,78 @@ * see which, if any are supported. */ -#define SFF_8472_DIAG 0xa2 /* Base address for diagnostics. */ +enum {SFF_8472_DIAG = 0xa2}; /* Base address for diagnostics. */ /* * Table 3.15 Alarm and Warning Thresholds All values are 2 bytes * and MUST be read in a single read operation starting at the MSB */ -#define SFF_8472_TEMP_HIGH_ALM 0 /* Temp High Alarm */ -#define SFF_8472_TEMP_LOW_ALM 2 /* Temp Low Alarm */ -#define SFF_8472_TEMP_HIGH_WARN 4 /* Temp High Warning */ -#define SFF_8472_TEMP_LOW_WARN 6 /* Temp Low Warning */ -#define SFF_8472_VOLTAGE_HIGH_ALM 8 /* Voltage High Alarm */ -#define SFF_8472_VOLTAGE_LOW_ALM 10 /* Voltage Low Alarm */ -#define SFF_8472_VOLTAGE_HIGH_WARN 12 /* Voltage High Warning */ -#define SFF_8472_VOLTAGE_LOW_WARN 14 /* Voltage Low Warning */ -#define SFF_8472_BIAS_HIGH_ALM 16 /* Bias High Alarm */ -#define SFF_8472_BIAS_LOW_ALM 18 /* Bias Low Alarm */ -#define SFF_8472_BIAS_HIGH_WARN 20 /* Bias High Warning */ -#define SFF_8472_BIAS_LOW_WARN 22 /* Bias Low Warning */ -#define SFF_8472_TX_POWER_HIGH_ALM 24 /* TX Power High Alarm */ -#define SFF_8472_TX_POWER_LOW_ALM 26 /* TX Power Low Alarm */ -#define SFF_8472_TX_POWER_HIGH_WARN 28 /* TX Power High Warning */ -#define SFF_8472_TX_POWER_LOW_WARN 30 /* TX Power Low Warning */ -#define SFF_8472_RX_POWER_HIGH_ALM 32 /* RX Power High Alarm */ -#define SFF_8472_RX_POWER_LOW_ALM 34 /* RX Power Low Alarm */ -#define SFF_8472_RX_POWER_HIGH_WARN 36 /* RX Power High Warning */ -#define SFF_8472_RX_POWER_LOW_WARN 38 /* RX Power Low Warning */ +enum { + SFF_8472_TEMP_HIGH_ALM = 0, /* Temp High Alarm */ + SFF_8472_TEMP_LOW_ALM = 2, /* Temp Low Alarm */ + SFF_8472_TEMP_HIGH_WARN = 4, /* Temp High Warning */ + SFF_8472_TEMP_LOW_WARN = 6, /* Temp Low Warning */ + SFF_8472_VOLTAGE_HIGH_ALM = 8, /* Voltage High Alarm */ + SFF_8472_VOLTAGE_LOW_ALM = 10, /* Voltage Low Alarm */ + SFF_8472_VOLTAGE_HIGH_WARN = 12, /* Voltage High Warning */ + SFF_8472_VOLTAGE_LOW_WARN = 14, /* Voltage Low Warning */ + SFF_8472_BIAS_HIGH_ALM = 16, /* Bias High Alarm */ + SFF_8472_BIAS_LOW_ALM = 18, /* Bias Low Alarm */ + SFF_8472_BIAS_HIGH_WARN = 20, /* Bias High Warning */ + SFF_8472_BIAS_LOW_WARN = 22, /* Bias Low Warning */ + SFF_8472_TX_POWER_HIGH_ALM = 24, /* TX Power High Alarm */ + SFF_8472_TX_POWER_LOW_ALM = 26, /* TX Power Low Alarm */ + SFF_8472_TX_POWER_HIGH_WARN = 28, /* TX Power High Warning */ + SFF_8472_TX_POWER_LOW_WARN = 30, /* TX Power Low Warning */ + SFF_8472_RX_POWER_HIGH_ALM = 32, /* RX Power High Alarm */ + SFF_8472_RX_POWER_LOW_ALM = 34, /* RX Power Low Alarm */ + SFF_8472_RX_POWER_HIGH_WARN = 36, /* RX Power High Warning */ + SFF_8472_RX_POWER_LOW_WARN = 38, /* RX Power Low Warning */ -#define SFF_8472_RX_POWER4 56 /* Rx_PWR(4) Single precision + SFF_8472_RX_POWER4 = 56, /* Rx_PWR(4) Single precision * floating point calibration data * - Rx optical power. Bit 7 of * byte 56 is MSB. Bit 0 of byte * 59 is LSB. Rx_PWR(4) should be * set to zero for “internally * calibrated” devices. */ -#define SFF_8472_RX_POWER3 60 /* Rx_PWR(3) Single precision + SFF_8472_RX_POWER3 = 60, /* Rx_PWR(3) Single precision * floating point calibration data * - Rx optical power. Bit 7 of * byte 60 is MSB. Bit 0 of byte 63 * is LSB. Rx_PWR(3) should be set * to zero for “internally * calibrated” devices.*/ -#define SFF_8472_RX_POWER2 64 /* Rx_PWR(2) Single precision + SFF_8472_RX_POWER2 = 64, /* Rx_PWR(2) Single precision * floating point calibration data, * Rx optical power. Bit 7 of byte * 64 is MSB, bit 0 of byte 67 is * LSB. Rx_PWR(2) should be set to * zero for “internally calibrated” * devices. */ -#define SFF_8472_RX_POWER1 68 /* Rx_PWR(1) Single precision + SFF_8472_RX_POWER1 = 68, /* Rx_PWR(1) Single precision * floating point calibration data, * Rx optical power. Bit 7 of byte * 68 is MSB, bit 0 of byte 71 is * LSB. Rx_PWR(1) should be set to * 1 for “internally calibrated” * devices. */ -#define SFF_8472_RX_POWER0 72 /* Rx_PWR(0) Single precision + SFF_8472_RX_POWER0 = 72, /* Rx_PWR(0) Single precision * floating point calibration data, * Rx optical power. Bit 7 of byte * 72 is MSB, bit 0 of byte 75 is * LSB. Rx_PWR(0) should be set to * zero for “internally calibrated” * devices. */ -#define SFF_8472_TX_I_SLOPE 76 /* Tx_I(Slope) Fixed decimal + SFF_8472_TX_I_SLOPE = 76, /* Tx_I(Slope) Fixed decimal * (unsigned) calibration data, * laser bias current. Bit 7 of * byte 76 is MSB, bit 0 of byte 77 * is LSB. Tx_I(Slope) should be * set to 1 for “internally * calibrated” devices. */ -#define SFF_8472_TX_I_OFFSET 78 /* Tx_I(Offset) Fixed decimal + SFF_8472_TX_I_OFFSET = 78, /* Tx_I(Offset) Fixed decimal * (signed two’s complement) * calibration data, laser bias * current. Bit 7 of byte 78 is @@ -245,7 +249,7 @@ * LSB. Tx_I(Offset) should be set * to zero for “internally * calibrated” devices. */ -#define SFF_8472_TX_POWER_SLOPE 80 /* Tx_PWR(Slope) Fixed decimal + SFF_8472_TX_POWER_SLOPE = 80, /* Tx_PWR(Slope) Fixed decimal * (unsigned) calibration data, * transmitter coupled output * power. Bit 7 of byte 80 is MSB, @@ -253,22 +257,22 @@ * Tx_PWR(Slope) should be set to 1 * for “internally calibrated” * devices. */ -#define SFF_8472_TX_POWER_OFFSET 82 /* Tx_PWR(Offset) Fixed decimal - * (signed two’s complement) - * calibration data, transmitter - * coupled output power. Bit 7 of - * byte 82 is MSB, bit 0 of byte 83 - * is LSB. Tx_PWR(Offset) should be - * set to zero for “internally - * calibrated” devices. */ -#define SFF_8472_T_SLOPE 84 /* T (Slope) Fixed decimal + SFF_8472_TX_POWER_OFFSET = 82, /* Tx_PWR(Offset) Fixed decimal + * (signed two’s complement) + * calibration data, transmitter + * coupled output power. Bit 7 of + * byte 82 is MSB, bit 0 of byte 83 + * is LSB. Tx_PWR(Offset) should be + * set to zero for “internally + * calibrated” devices. */ + SFF_8472_T_SLOPE = 84, /* T (Slope) Fixed decimal * (unsigned) calibration data, * internal module temperature. Bit * 7 of byte 84 is MSB, bit 0 of * byte 85 is LSB. T(Slope) should * be set to 1 for “internally * calibrated” devices. */ -#define SFF_8472_T_OFFSET 86 /* T (Offset) Fixed decimal (signed + SFF_8472_T_OFFSET = 86, /* T (Offset) Fixed decimal (signed * two’s complement) calibration * data, internal module * temperature. Bit 7 of byte 86 is @@ -276,7 +280,7 @@ * T(Offset) should be set to zero * for “internally calibrated” * devices. */ -#define SFF_8472_V_SLOPE 88 /* V (Slope) Fixed decimal + SFF_8472_V_SLOPE = 88, /* V (Slope) Fixed decimal * (unsigned) calibration data, * internal module supply * voltage. Bit 7 of byte 88 is @@ -284,7 +288,7 @@ * LSB. V(Slope) should be set to 1 * for “internally calibrated” * devices. */ -#define SFF_8472_V_OFFSET 90 /* V (Offset) Fixed decimal (signed + SFF_8472_V_OFFSET = 90, /* V (Offset) Fixed decimal (signed * two’s complement) calibration * data, internal module supply * voltage. Bit 7 of byte 90 is @@ -292,21 +296,21 @@ * LSB. V(Offset) should be set to * zero for “internally calibrated” * devices. */ -#define SFF_8472_CHECKSUM 95 /* Checksum Byte 95 contains the + SFF_8472_CHECKSUM = 95, /* Checksum Byte 95 contains the * low order 8 bits of the sum of * bytes 0 – 94. */ - /* Internal measurements. */ + /* Internal measurements. */ -#define SFF_8472_TEMP 96 /* Internally measured module temperature. */ -#define SFF_8472_VCC 98 /* Internally measured supply + SFF_8472_TEMP = 96, /* Internally measured module temperature. */ + SFF_8472_VCC = 98, /* Internally measured supply * voltage in transceiver. */ -#define SFF_8472_TX_BIAS 100 /* Internally measured TX Bias Current. */ -#define SFF_8472_TX_POWER 102 /* Measured TX output power. */ -#define SFF_8472_RX_POWER 104 /* Measured RX input power. */ - -#define SFF_8472_STATUS 110 /* See below */ + SFF_8472_TX_BIAS = 100, /* Internally measured TX Bias Current. */ + SFF_8472_TX_POWER = 102, /* Measured TX output power. */ + SFF_8472_RX_POWER = 104, /* Measured RX input power. */ + SFF_8472_STATUS = 110 /* See below */ +}; /* Status Bits Described */ /* @@ -372,20 +376,22 @@ #define SFF_8472_STATUS_DATA_READY (1 << 0) /* Table 3.2 Identifier values */ -#define SFF_8472_ID_UNKNOWN 0x0 /* Unknown or unspecified */ -#define SFF_8472_ID_GBIC 0x1 /* GBIC */ -#define SFF_8472_ID_SFF 0x2 /* Module soldered to motherboard (ex: SFF)*/ -#define SFF_8472_ID_SFP 0x3 /* SFP or SFP “Plus” */ -#define SFF_8472_ID_XBI 0x4 /* Reserved for “300 pin XBI” devices */ -#define SFF_8472_ID_XENPAK 0x5 /* Reserved for “Xenpak” devices */ -#define SFF_8472_ID_XFP 0x6 /* Reserved for “XFP” devices */ -#define SFF_8472_ID_XFF 0x7 /* Reserved for “XFF” devices */ -#define SFF_8472_ID_XFPE 0x8 /* Reserved for “XFP-E” devices */ -#define SFF_8472_ID_XPAK 0x9 /* Reserved for “XPak” devices */ -#define SFF_8472_ID_X2 0xA /* Reserved for “X2” devices */ -#define SFF_8472_ID_DWDM_SFP 0xB /* Reserved for “DWDM-SFP” devices */ -#define SFF_8472_ID_QSFP 0xC /* Reserved for “QSFP” devices */ -#define SFF_8472_ID_LAST SFF_8472_ID_QSFP +enum { + SFF_8472_ID_UNKNOWN = 0x0, /* Unknown or unspecified */ + SFF_8472_ID_GBIC = 0x1, /* GBIC */ + SFF_8472_ID_SFF = 0x2, /* Module soldered to motherboard (ex: SFF)*/ + SFF_8472_ID_SFP = 0x3, /* SFP or SFP “Plus” */ + SFF_8472_ID_XBI = 0x4, /* Reserved for “300 pin XBI” devices */ + SFF_8472_ID_XENPAK = 0x5, /* Reserved for “Xenpak” devices */ + SFF_8472_ID_XFP = 0x6, /* Reserved for “XFP” devices */ + SFF_8472_ID_XFF = 0x7, /* Reserved for “XFF” devices */ + SFF_8472_ID_XFPE = 0x8, /* Reserved for “XFP-E” devices */ + SFF_8472_ID_XPAK = 0x9, /* Reserved for “XPak” devices */ + SFF_8472_ID_X2 = 0xA, /* Reserved for “X2” devices */ + SFF_8472_ID_DWDM_SFP = 0xB, /* Reserved for “DWDM-SFP” devices */ + SFF_8472_ID_QSFP = 0xC, /* Reserved for “QSFP” devices */ + SFF_8472_ID_LAST = SFF_8472_ID_QSFP + }; static char *sff_8472_id[SFF_8472_ID_LAST + 1] = {"Unknown", "GBIC", From owner-svn-src-stable-10@FreeBSD.ORG Fri Feb 14 02:48:14 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E14B7C24; Fri, 14 Feb 2014 02:48:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CC3F110D2; Fri, 14 Feb 2014 02:48:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1E2mEgM093298; Fri, 14 Feb 2014 02:48:14 GMT (envelope-from davidcs@svn.freebsd.org) Received: (from davidcs@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1E2mE1V093295; Fri, 14 Feb 2014 02:48:14 GMT (envelope-from davidcs@svn.freebsd.org) Message-Id: <201402140248.s1E2mE1V093295@svn.freebsd.org> From: David C Somayajulu Date: Fri, 14 Feb 2014 02:48:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261864 - stable/10/sys/dev/qlxgb X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 02:48:15 -0000 Author: davidcs Date: Fri Feb 14 02:48:14 2014 New Revision: 261864 URL: http://svnweb.freebsd.org/changeset/base/261864 Log: MFC 261861 check for defrag only when bus_dmamap_load_mbuf_sg() returns EFBIG. Comment in qla_hw_send is moot. Modified: stable/10/sys/dev/qlxgb/qla_hw.c stable/10/sys/dev/qlxgb/qla_os.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/qlxgb/qla_hw.c ============================================================================== --- stable/10/sys/dev/qlxgb/qla_hw.c Fri Feb 14 01:47:12 2014 (r261863) +++ stable/10/sys/dev/qlxgb/qla_hw.c Fri Feb 14 02:48:14 2014 (r261864) @@ -998,7 +998,6 @@ qla_hw_send(qla_host_t *ha, bus_dma_segm if (hdr_len == 0) { if ((nsegs > Q8_TX_MAX_SEGMENTS) || (mp->m_pkthdr.len > ha->max_frame_size)){ - /* TBD: copy into private buffer and send it */ device_printf(dev, "%s: (nsegs[%d, %d, 0x%b] > Q8_TX_MAX_SEGMENTS)\n", __func__, nsegs, mp->m_pkthdr.len, Modified: stable/10/sys/dev/qlxgb/qla_os.c ============================================================================== --- stable/10/sys/dev/qlxgb/qla_os.c Fri Feb 14 01:47:12 2014 (r261863) +++ stable/10/sys/dev/qlxgb/qla_os.c Fri Feb 14 02:48:14 2014 (r261864) @@ -1063,10 +1063,7 @@ qla_send(qla_host_t *ha, struct mbuf **m ret = bus_dmamap_load_mbuf_sg(ha->tx_tag, map, m_head, segs, &nsegs, BUS_DMA_NOWAIT); - if ((ret == EFBIG) || - ((nsegs > Q8_TX_MAX_SEGMENTS) && - (((m_head->m_pkthdr.csum_flags & CSUM_TSO) == 0) || - (m_head->m_pkthdr.len <= ha->max_frame_size)))) { + if (ret == EFBIG) { struct mbuf *m; From owner-svn-src-stable-10@FreeBSD.ORG Fri Feb 14 03:45:50 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1F157EC3; Fri, 14 Feb 2014 03:45:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 08A0418BF; Fri, 14 Feb 2014 03:45:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1E3jo0Z017512; Fri, 14 Feb 2014 03:45:50 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1E3jn2c017508; Fri, 14 Feb 2014 03:45:49 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201402140345.s1E3jn2c017508@svn.freebsd.org> From: Kevin Lo Date: Fri, 14 Feb 2014 03:45:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261868 - in stable/10: share/man/man4 sys/dev/usb sys/dev/usb/wlan X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 03:45:50 -0000 Author: kevlo Date: Fri Feb 14 03:45:49 2014 New Revision: 261868 URL: http://svnweb.freebsd.org/changeset/base/261868 Log: MFC r259544, r259545, r259546, r259547, r259812, r259939, r260219, r260542, r261118, r261124, r261330: - Add support for the MediaTek/Ralink RT3593 chipset. - Various minor USB WLAN fixes and improvements. Modified: stable/10/share/man/man4/run.4 stable/10/sys/dev/usb/usbdevs stable/10/sys/dev/usb/wlan/if_run.c stable/10/sys/dev/usb/wlan/if_runreg.h stable/10/sys/dev/usb/wlan/if_runvar.h Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/run.4 ============================================================================== --- stable/10/share/man/man4/run.4 Fri Feb 14 03:34:12 2014 (r261867) +++ stable/10/share/man/man4/run.4 Fri Feb 14 03:45:49 2014 (r261868) @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 11, 2013 +.Dd January 3, 2014 .Dt RUN 4 .Os .Sh NAME @@ -64,8 +64,17 @@ The RT3000U is a single-chip solution ba an RT3020 (1T1R), RT3021 (1T2R) or RT3022 (2T2R) single-band radio transceiver. .Pp -The RT3900E is a single-chip solution based on an RT5390 MAC/BBP and -an RT5370 (1T1R) or RT5372 (2T2R) single-band radio transceiver. +The RT3900E is a single-chip USB 2.0 802.11n solution. +The MAC/Baseband Processor can be an RT3593, RT5390, RT5392 or an RT5592. +The radio can be an RT3053, RT5370, RT5372 or an RT5572. +The RT3053 chip operates in the 2GHz and 5GHz spectra and supports up to +3 transmit paths and 3 receiver paths (3T3R). +The RT5370 chip operates in the 2GHz spectrum and supports 1 transmit path +and 1 receiver path (1T1R). +The RT5372 chip operates in the 2GHz spectrum and supports up to 2 transmit +paths and 2 receiver paths (2T2R). +The RT5572 chip operates in the 2GHz and 5GHz spectra and supports up to +2 transmit paths and 2 receiver paths (2T2R). .Pp These are the modes the .Nm @@ -116,11 +125,13 @@ driver supports the following wireless a .It Airlink101 AWLL6090 .It ASUS USB-N11 .It ASUS USB-N13 ver. A1 +.It ASUS USB-N66 .It ASUS WL-160N .It Belkin F5D8051 ver 3000 .It Belkin F5D8053 .It Belkin F5D8055 .It Belkin F6D4050 ver 1 +.It Belkin F9L1103 .It Buffalo WLI-UC-AG300N .It Buffalo WLI-UC-G300N .It Buffalo WLI-UC-G301N @@ -132,13 +143,15 @@ driver supports the following wireless a .It Corega CG-WLUSB300AGN .It Corega CG-WLUSB300GNM .It D-Link DWA-130 rev B1 -.It D-Link DWA-140 rev B1, B2, B3 +.It D-Link DWA-140 rev B1, B2, B3, D1 .It D-Link DWA-160 rev B2 +.It D-Link DWA-162 .It DrayTek Vigor N61 .It Edimax EW-7711UAn .It Edimax EW-7711UTn .It Edimax EW-7717Un .It Edimax EW-7718Un +.It Edimax EW-7733UnD .It Gigabyte GN-WB30N .It Gigabyte GN-WB31N .It Gigabyte GN-WB32L @@ -164,6 +177,7 @@ driver supports the following wireless a .It TP-LINK TL-WN727N v3 .It Unex DNUR-81 .It Unex DNUR-82 +.It ZyXEL NWD2705 .It ZyXEL NWD210N .It ZyXEL NWD270N .El @@ -235,4 +249,4 @@ driver was written by The .Nm driver does not support any of the 802.11n capabilities offered by the -RT2800 and RT3000 chipsets. +RT2800, RT3000 and RT3900 chipsets. Modified: stable/10/sys/dev/usb/usbdevs ============================================================================== --- stable/10/sys/dev/usb/usbdevs Fri Feb 14 03:34:12 2014 (r261867) +++ stable/10/sys/dev/usb/usbdevs Fri Feb 14 03:45:49 2014 (r261868) @@ -1183,6 +1183,7 @@ product ASUS USBN13 0x1784 USB-N13 product ASUS RT3070_1 0x1790 RT3070 product ASUS USBN10 0x1786 USB-N10 product ASUS RTL8192CU 0x17ab RTL8192CU +product ASUS USBN66 0x17ad USB-N66 product ASUS RTL8192SU 0x1791 RTL8192SU product ASUS A730W 0x4202 ASUS MyPal A730W product ASUS P535 0x420f ASUS P535 PDA @@ -1285,6 +1286,7 @@ product BELKIN F5U409 0x0409 F5U409 Ser product BELKIN F6C550AVR 0x0551 F6C550-AVR UPS product BELKIN F5U120 0x1203 F5U120-PC Hub product BELKIN RTL8188CU 0x1102 RTL8188CU Wireless Adapter +product BELKIN F9L1103 0x1103 F9L1103 Wireless Adapter product BELKIN RTL8192CU 0x2102 RTL8192CU Wireless Adapter product BELKIN F7D2102 0x2103 F7D2102 Wireless Adapter product BELKIN ZD1211B 0x4050 ZD1211B @@ -1598,6 +1600,8 @@ product DLINK RT3072 0x3c0a RT3072 product DLINK DWA140B3 0x3c15 DWA-140 rev B3 product DLINK DWA160B2 0x3c1a DWA-160 rev B2 product DLINK DWA127 0x3c1b DWA-127 Wireless Adapter +product DLINK DWA162 0x3c1f DWA-162 Wireless Adapter +product DLINK DWA140D1 0x3c20 DWA-140 rev D1 product DLINK DSB650C 0x4000 10Mbps Ethernet product DLINK DSB650TX1 0x4001 10/100 Ethernet product DLINK DSB650TX 0x4002 10/100 Ethernet @@ -1658,6 +1662,7 @@ product EDIMAX RTL8192SU_3 0x7622 RTL819 product EDIMAX RT2870_1 0x7711 RT2870 product EDIMAX EW7717 0x7717 EW-7717 product EDIMAX EW7718 0x7718 EW-7718 +product EDIMAX EW7733UND 0x7733 EW-7733UnD product EDIMAX EW7811UN 0x7811 EW-7811Un product EDIMAX RTL8192CU 0x7822 RTL8192CU @@ -3617,11 +3622,13 @@ product RALINK RT2573 0x2573 RT2501USB product RALINK RT2671 0x2671 RT2601USB Wireless Adapter product RALINK RT2770 0x2770 RT2770 product RALINK RT2870 0x2870 RT2870 +product RALINK RT_STOR 0x2878 USB Storage product RALINK RT3070 0x3070 RT3070 product RALINK RT3071 0x3071 RT3071 product RALINK RT3072 0x3072 RT3072 product RALINK RT3370 0x3370 RT3370 product RALINK RT3572 0x3572 RT3572 +product RALINK RT3573 0x3573 RT3573 product RALINK RT5370 0x5370 RT5370 product RALINK RT5572 0x5572 RT5572 product RALINK RT8070 0x8070 RT8070 @@ -3643,10 +3650,11 @@ product REALTEK RTL8171 0x8171 RTL8171 product REALTEK RTL8172 0x8172 RTL8172 product REALTEK RTL8173 0x8173 RTL8173 product REALTEK RTL8174 0x8174 RTL8174 -product REALTEK RTL8188CE_1 0x817e RTL8188CE -product REALTEK RTL8188CU_0 0x8176 RTL8188CU -product REALTEK RTL8188CU_1 0x817a RTL8188CU -product REALTEK RTL8188CU_2 0x817b RTL8188CU +product REALTEK RTL8188CU_0 0x8176 RTL8188CU +product REALTEK RTL8188EU 0x8179 RTL8188EU +product REALTEK RTL8188CE_1 0x817e RTL8188CE +product REALTEK RTL8188CU_1 0x817a RTL8188CU +product REALTEK RTL8188CU_2 0x817b RTL8188CU product REALTEK RTL8187 0x8187 RTL8187 Wireless Adapter product REALTEK RTL8187B_0 0x8189 RTL8187B Wireless Adapter product REALTEK RTL8187B_1 0x8197 RTL8187B Wireless Adapter @@ -4486,3 +4494,4 @@ product ZYXEL G202 0x3410 G-202 product ZYXEL RT2870_1 0x3416 RT2870 product ZYXEL RT2870_2 0x341a RT2870 product ZYXEL RTL8192CU 0x341f RTL8192CU +product ZYXEL NWD2705 0x3421 NWD2705 Modified: stable/10/sys/dev/usb/wlan/if_run.c ============================================================================== --- stable/10/sys/dev/usb/wlan/if_run.c Fri Feb 14 03:34:12 2014 (r261867) +++ stable/10/sys/dev/usb/wlan/if_run.c Fri Feb 14 03:45:49 2014 (r261868) @@ -2,7 +2,7 @@ * Copyright (c) 2008,2010 Damien Bergamini * ported to FreeBSD by Akinori Furukoshi * USB Consulting, Hans Petter Selasky - * Copyright (c) 2013 Kevin Lo + * Copyright (c) 2013-2014 Kevin Lo * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -69,14 +69,15 @@ __FBSDID("$FreeBSD$"); #include #include "usbdevs.h" -#define USB_DEBUG_VAR run_debug +#define USB_DEBUG_VAR run_debug #include +#include #include #include #ifdef USB_DEBUG -#define RUN_DEBUG +#define RUN_DEBUG #endif #ifdef RUN_DEBUG @@ -86,17 +87,19 @@ SYSCTL_INT(_hw_usb_run, OID_AUTO, debug, "run debug level"); #endif -#define IEEE80211_HAS_ADDR4(wh) \ +#define IEEE80211_HAS_ADDR4(wh) \ (((wh)->i_fc[1] & IEEE80211_FC1_DIR_MASK) == IEEE80211_FC1_DIR_DSTODS) /* * Because of LOR in run_key_delete(), use atomic instead. * '& RUN_CMDQ_MASQ' is to loop cmdq[]. */ -#define RUN_CMDQ_GET(c) (atomic_fetchadd_32((c), 1) & RUN_CMDQ_MASQ) +#define RUN_CMDQ_GET(c) (atomic_fetchadd_32((c), 1) & RUN_CMDQ_MASQ) static const STRUCT_USB_HOST_ID run_devs[] = { -#define RUN_DEV(v,p) { USB_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p) } +#define RUN_DEV(v,p) { USB_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p) } +#define RUN_DEV_EJECT(v,p) \ + { USB_VPI(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, 0) } RUN_DEV(ABOCOM, RT2770), RUN_DEV(ABOCOM, RT2870), RUN_DEV(ABOCOM, RT3070), @@ -135,6 +138,7 @@ static const STRUCT_USB_HOST_ID run_devs RUN_DEV(ASUS, RT2870_5), RUN_DEV(ASUS, USBN13), RUN_DEV(ASUS, RT3070_1), + RUN_DEV(ASUS, USBN66), RUN_DEV(ASUS, USB_N53), RUN_DEV(ASUS2, USBN11), RUN_DEV(AZUREWAVE, RT2870_1), @@ -142,6 +146,7 @@ static const STRUCT_USB_HOST_ID run_devs RUN_DEV(AZUREWAVE, RT3070_1), RUN_DEV(AZUREWAVE, RT3070_2), RUN_DEV(AZUREWAVE, RT3070_3), + RUN_DEV(BELKIN, F9L1103), RUN_DEV(BELKIN, F5D8053V3), RUN_DEV(BELKIN, F5D8055), RUN_DEV(BELKIN, F5D8055V2), @@ -174,6 +179,7 @@ static const STRUCT_USB_HOST_ID run_devs RUN_DEV(DLINK, DWA127), RUN_DEV(DLINK, DWA140B3), RUN_DEV(DLINK, DWA160B2), + RUN_DEV(DLINK, DWA162), RUN_DEV(DLINK2, DWA130), RUN_DEV(DLINK2, RT2870_1), RUN_DEV(DLINK2, RT2870_2), @@ -186,6 +192,7 @@ static const STRUCT_USB_HOST_ID run_devs RUN_DEV(DLINK2, RT3072_1), RUN_DEV(EDIMAX, EW7717), RUN_DEV(EDIMAX, EW7718), + RUN_DEV(EDIMAX, EW7733UND), RUN_DEV(EDIMAX, RT2870_1), RUN_DEV(ENCORE, RT3070_1), RUN_DEV(ENCORE, RT3070_2), @@ -257,6 +264,7 @@ static const STRUCT_USB_HOST_ID run_devs RUN_DEV(RALINK, RT3072), RUN_DEV(RALINK, RT3370), RUN_DEV(RALINK, RT3572), + RUN_DEV(RALINK, RT3573), RUN_DEV(RALINK, RT5370), RUN_DEV(RALINK, RT5572), RUN_DEV(RALINK, RT8070), @@ -306,6 +314,9 @@ static const STRUCT_USB_HOST_ID run_devs RUN_DEV(ZINWELL, RT3072_2), RUN_DEV(ZYXEL, RT2870_1), RUN_DEV(ZYXEL, RT2870_2), + RUN_DEV(ZYXEL, NWD2705), + RUN_DEV_EJECT(RALINK, RT_STOR), +#undef RUN_DEV_EJECT #undef RUN_DEV }; @@ -321,6 +332,9 @@ static usb_callback_t run_bulk_tx_callba static usb_callback_t run_bulk_tx_callback4; static usb_callback_t run_bulk_tx_callback5; +static void run_autoinst(void *, struct usb_device *, + struct usb_attach_arg *); +static int run_driver_loaded(struct module *, int, void *); static void run_bulk_tx_callbackN(struct usb_xfer *xfer, usb_error_t error, u_int index); static struct ieee80211vap *run_vap_create(struct ieee80211com *, @@ -344,6 +358,7 @@ static int run_write(struct run_softc *, static int run_write_region_1(struct run_softc *, uint16_t, const uint8_t *, int); static int run_set_region_4(struct run_softc *, uint16_t, uint32_t, int); +static int run_efuse_read(struct run_softc *, uint16_t, uint16_t *, int); static int run_efuse_read_2(struct run_softc *, uint16_t, uint16_t *); static int run_eeprom_read_2(struct run_softc *, uint16_t, uint16_t *); static int run_rt2870_rf_write(struct run_softc *, uint32_t); @@ -353,6 +368,8 @@ static int run_bbp_read(struct run_softc static int run_bbp_write(struct run_softc *, uint8_t, uint8_t); static int run_mcu_cmd(struct run_softc *, uint8_t, uint16_t); static const char *run_get_rf(uint16_t); +static void run_rt3593_get_txpower(struct run_softc *); +static void run_get_txpower(struct run_softc *); static int run_read_eeprom(struct run_softc *); static struct ieee80211_node *run_node_alloc(struct ieee80211vap *, const uint8_t mac[IEEE80211_ADDR_LEN]); @@ -390,12 +407,14 @@ static int run_raw_xmit(struct ieee80211 const struct ieee80211_bpf_params *); static void run_start(struct ifnet *); static int run_ioctl(struct ifnet *, u_long, caddr_t); +static void run_iq_calib(struct run_softc *, u_int); static void run_set_agc(struct run_softc *, uint8_t); static void run_select_chan_group(struct run_softc *, int); static void run_set_rx_antenna(struct run_softc *, int); static void run_rt2870_set_chan(struct run_softc *, u_int); static void run_rt3070_set_chan(struct run_softc *, u_int); static void run_rt3572_set_chan(struct run_softc *, u_int); +static void run_rt3593_set_chan(struct run_softc *, u_int); static void run_rt5390_set_chan(struct run_softc *, u_int); static void run_rt5592_set_chan(struct run_softc *, u_int); static int run_set_chan(struct run_softc *, struct ieee80211_channel *); @@ -424,10 +443,13 @@ static void run_update_promisc(struct if static void run_rt5390_bbp_init(struct run_softc *); static int run_bbp_init(struct run_softc *); static int run_rt3070_rf_init(struct run_softc *); +static void run_rt3593_rf_init(struct run_softc *); static void run_rt5390_rf_init(struct run_softc *); static int run_rt3070_filter_calib(struct run_softc *, uint8_t, uint8_t, uint8_t *); static void run_rt3070_rf_setup(struct run_softc *); +static void run_rt3593_rf_setup(struct run_softc *); +static void run_rt5390_rf_setup(struct run_softc *); static int run_txrx_enable(struct run_softc *); static void run_adjust_freq_offset(struct run_softc *); static void run_init(void *); @@ -435,6 +457,30 @@ static void run_init_locked(struct run_s static void run_stop(void *); static void run_delay(struct run_softc *, u_int); +static eventhandler_tag run_etag; + +static const struct rt2860_rate { + uint8_t rate; + uint8_t mcs; + enum ieee80211_phytype phy; + uint8_t ctl_ridx; + uint16_t sp_ack_dur; + uint16_t lp_ack_dur; +} rt2860_rates[] = { + { 2, 0, IEEE80211_T_DS, 0, 314, 314 }, + { 4, 1, IEEE80211_T_DS, 1, 258, 162 }, + { 11, 2, IEEE80211_T_DS, 2, 223, 127 }, + { 22, 3, IEEE80211_T_DS, 3, 213, 117 }, + { 12, 0, IEEE80211_T_OFDM, 4, 60, 60 }, + { 18, 1, IEEE80211_T_OFDM, 4, 52, 52 }, + { 24, 2, IEEE80211_T_OFDM, 6, 48, 48 }, + { 36, 3, IEEE80211_T_OFDM, 6, 44, 44 }, + { 48, 4, IEEE80211_T_OFDM, 8, 44, 44 }, + { 72, 5, IEEE80211_T_OFDM, 8, 40, 40 }, + { 96, 6, IEEE80211_T_OFDM, 8, 40, 40 }, + { 108, 7, IEEE80211_T_OFDM, 8, 40, 40 } +}; + static const struct { uint16_t reg; uint32_t val; @@ -497,6 +543,8 @@ static const struct { RT3070_DEF_RF },rt3572_def_rf[] = { RT3572_DEF_RF +},rt3593_def_rf[] = { + RT3593_DEF_RF },rt5390_def_rf[] = { RT5390_DEF_RF },rt5392_def_rf[] = { @@ -589,6 +637,46 @@ static const struct usb_config run_confi } }; +static void +run_autoinst(void *arg, struct usb_device *udev, + struct usb_attach_arg *uaa) +{ + struct usb_interface *iface; + struct usb_interface_descriptor *id; + + if (uaa->dev_state != UAA_DEV_READY) + return; + + iface = usbd_get_iface(udev, 0); + if (iface == NULL) + return; + id = iface->idesc; + if (id == NULL || id->bInterfaceClass != UICLASS_MASS) + return; + if (usbd_lookup_id_by_uaa(run_devs, sizeof(run_devs), uaa)) + return; + + if (usb_msc_eject(udev, 0, MSC_EJECT_STOPUNIT) == 0) + uaa->dev_state = UAA_DEV_EJECTING; +} + +static int +run_driver_loaded(struct module *mod, int what, void *arg) +{ + switch (what) { + case MOD_LOAD: + run_etag = EVENTHANDLER_REGISTER(usb_dev_configured, + run_autoinst, NULL, EVENTHANDLER_PRI_ANY); + break; + case MOD_UNLOAD: + EVENTHANDLER_DEREGISTER(usb_dev_configured, run_etag); + break; + default: + return (EOPNOTSUPP); + } + return (0); +} + static int run_match(device_t self) { @@ -710,7 +798,8 @@ run_attach(device_t self) setbit(&bands, IEEE80211_MODE_11B); setbit(&bands, IEEE80211_MODE_11G); if (sc->rf_rev == RT2860_RF_2750 || sc->rf_rev == RT2860_RF_2850 || - sc->rf_rev == RT3070_RF_3052 || sc->rf_rev == RT5592_RF_5592) + sc->rf_rev == RT3070_RF_3052 || sc->rf_rev == RT3593_RF_3053 || + sc->rf_rev == RT5592_RF_5592) setbit(&bands, IEEE80211_MODE_11A); ieee80211_init_channels(ic, NULL, &bands); @@ -1061,9 +1150,11 @@ run_load_microcode(struct run_softc *sc) } /* write microcode image */ - run_write_region_1(sc, RT2870_FW_BASE, base, 4096); - run_write(sc, RT2860_H2M_MAILBOX_CID, 0xffffffff); - run_write(sc, RT2860_H2M_MAILBOX_STATUS, 0xffffffff); + if (sc->mac_ver != 0x3593) { + run_write_region_1(sc, RT2870_FW_BASE, base, 4096); + run_write(sc, RT2860_H2M_MAILBOX_CID, 0xffffffff); + run_write(sc, RT2860_H2M_MAILBOX_STATUS, 0xffffffff); + } req.bmRequestType = UT_WRITE_VENDOR_DEVICE; req.bRequest = RT2870_RESET; @@ -1078,15 +1169,16 @@ run_load_microcode(struct run_softc *sc) run_delay(sc, 10); + run_write(sc, RT2860_H2M_BBPAGENT, 0); run_write(sc, RT2860_H2M_MAILBOX, 0); + run_write(sc, RT2860_H2M_INTSRC, 0); if ((error = run_mcu_cmd(sc, RT2860_MCU_CMD_RFRESET, 0)) != 0) goto fail; /* wait until microcontroller is ready */ for (ntries = 0; ntries < 1000; ntries++) { - if ((error = run_read(sc, RT2860_SYS_CTRL, &tmp)) != 0) { + if ((error = run_read(sc, RT2860_SYS_CTRL, &tmp)) != 0) goto fail; - } if (tmp & RT2860_MCU_READY) break; run_delay(sc, 10); @@ -1248,9 +1340,8 @@ run_set_region_4(struct run_softc *sc, u return (error); } -/* Read 16-bit from eFUSE ROM (RT3070 only.) */ static int -run_efuse_read_2(struct run_softc *sc, uint16_t addr, uint16_t *val) +run_efuse_read(struct run_softc *sc, uint16_t addr, uint16_t *val, int count) { uint32_t tmp; uint16_t reg; @@ -1259,7 +1350,8 @@ run_efuse_read_2(struct run_softc *sc, u if ((error = run_read(sc, RT3070_EFUSE_CTRL, &tmp)) != 0) return (error); - addr *= 2; + if (count == 2) + addr *= 2; /*- * Read one 16-byte block into registers EFUSE_DATA[0-3]: * DATA0: F E D C @@ -1289,10 +1381,19 @@ run_efuse_read_2(struct run_softc *sc, u if ((error = run_read(sc, reg, &tmp)) != 0) return (error); - *val = (addr & 2) ? tmp >> 16 : tmp & 0xffff; + tmp >>= (8 * (addr & 0x3)); + *val = (addr & 1) ? tmp >> 16 : tmp & 0xffff; + return (0); } +/* Read 16-bit from eFUSE ROM for RT3xxx. */ +static int +run_efuse_read_2(struct run_softc *sc, uint16_t addr, uint16_t *val) +{ + return (run_efuse_read(sc, addr, val, 2)); +} + static int run_eeprom_read_2(struct run_softc *sc, uint16_t addr, uint16_t *val) { @@ -1305,7 +1406,7 @@ run_eeprom_read_2(struct run_softc *sc, req.bRequest = RT2870_EEPROM_READ; USETW(req.wValue, 0); USETW(req.wIndex, addr); - USETW(req.wLength, sizeof tmp); + USETW(req.wLength, sizeof(tmp)); error = usbd_do_request(sc->sc_udev, &sc->sc_mtx, &req, &tmp); if (error == 0) @@ -1500,6 +1601,7 @@ run_get_rf(uint16_t rev) case RT3070_RF_3021: return "RT3021"; case RT3070_RF_3022: return "RT3022"; case RT3070_RF_3052: return "RT3052"; + case RT3593_RF_3053: return "RT3053"; case RT5592_RF_5592: return "RT5592"; case RT5390_RF_5370: return "RT5370"; case RT5390_RF_5372: return "RT5372"; @@ -1507,6 +1609,125 @@ run_get_rf(uint16_t rev) return ("unknown"); } +static void +run_rt3593_get_txpower(struct run_softc *sc) +{ + uint16_t addr, val; + int i; + + /* Read power settings for 2GHz channels. */ + for (i = 0; i < 14; i += 2) { + addr = (sc->ntxchains == 3) ? RT3593_EEPROM_PWR2GHZ_BASE1 : + RT2860_EEPROM_PWR2GHZ_BASE1; + run_srom_read(sc, addr + i / 2, &val); + sc->txpow1[i + 0] = (int8_t)(val & 0xff); + sc->txpow1[i + 1] = (int8_t)(val >> 8); + + addr = (sc->ntxchains == 3) ? RT3593_EEPROM_PWR2GHZ_BASE2 : + RT2860_EEPROM_PWR2GHZ_BASE2; + run_srom_read(sc, addr + i / 2, &val); + sc->txpow2[i + 0] = (int8_t)(val & 0xff); + sc->txpow2[i + 1] = (int8_t)(val >> 8); + + if (sc->ntxchains == 3) { + run_srom_read(sc, RT3593_EEPROM_PWR2GHZ_BASE3 + i / 2, + &val); + sc->txpow3[i + 0] = (int8_t)(val & 0xff); + sc->txpow3[i + 1] = (int8_t)(val >> 8); + } + } + /* Fix broken Tx power entries. */ + for (i = 0; i < 14; i++) { + if (sc->txpow1[i] > 31) + sc->txpow1[i] = 5; + if (sc->txpow2[i] > 31) + sc->txpow2[i] = 5; + if (sc->ntxchains == 3) { + if (sc->txpow3[i] > 31) + sc->txpow3[i] = 5; + } + } + /* Read power settings for 5GHz channels. */ + for (i = 0; i < 40; i += 2) { + run_srom_read(sc, RT3593_EEPROM_PWR5GHZ_BASE1 + i / 2, &val); + sc->txpow1[i + 14] = (int8_t)(val & 0xff); + sc->txpow1[i + 15] = (int8_t)(val >> 8); + + run_srom_read(sc, RT3593_EEPROM_PWR5GHZ_BASE2 + i / 2, &val); + sc->txpow2[i + 14] = (int8_t)(val & 0xff); + sc->txpow2[i + 15] = (int8_t)(val >> 8); + + if (sc->ntxchains == 3) { + run_srom_read(sc, RT3593_EEPROM_PWR5GHZ_BASE3 + i / 2, + &val); + sc->txpow3[i + 14] = (int8_t)(val & 0xff); + sc->txpow3[i + 15] = (int8_t)(val >> 8); + } + } +} + +static void +run_get_txpower(struct run_softc *sc) +{ + uint16_t val; + int i; + + /* Read power settings for 2GHz channels. */ + for (i = 0; i < 14; i += 2) { + run_srom_read(sc, RT2860_EEPROM_PWR2GHZ_BASE1 + i / 2, &val); + sc->txpow1[i + 0] = (int8_t)(val & 0xff); + sc->txpow1[i + 1] = (int8_t)(val >> 8); + + if (sc->mac_ver != 0x5390) { + run_srom_read(sc, + RT2860_EEPROM_PWR2GHZ_BASE2 + i / 2, &val); + sc->txpow2[i + 0] = (int8_t)(val & 0xff); + sc->txpow2[i + 1] = (int8_t)(val >> 8); + } + } + /* Fix broken Tx power entries. */ + for (i = 0; i < 14; i++) { + if (sc->mac_ver >= 0x5390) { + if (sc->txpow1[i] < 0 || sc->txpow1[i] > 27) + sc->txpow1[i] = 5; + } else { + if (sc->txpow1[i] < 0 || sc->txpow1[i] > 31) + sc->txpow1[i] = 5; + } + if (sc->mac_ver > 0x5390) { + if (sc->txpow2[i] < 0 || sc->txpow2[i] > 27) + sc->txpow2[i] = 5; + } else if (sc->mac_ver < 0x5390) { + if (sc->txpow2[i] < 0 || sc->txpow2[i] > 31) + sc->txpow2[i] = 5; + } + DPRINTF("chan %d: power1=%d, power2=%d\n", + rt2860_rf2850[i].chan, sc->txpow1[i], sc->txpow2[i]); + } + /* Read power settings for 5GHz channels. */ + for (i = 0; i < 40; i += 2) { + run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE1 + i / 2, &val); + sc->txpow1[i + 14] = (int8_t)(val & 0xff); + sc->txpow1[i + 15] = (int8_t)(val >> 8); + + run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE2 + i / 2, &val); + sc->txpow2[i + 14] = (int8_t)(val & 0xff); + sc->txpow2[i + 15] = (int8_t)(val >> 8); + } + /* Fix broken Tx power entries. */ + for (i = 0; i < 40; i++ ) { + if (sc->mac_ver != 0x5592) { + if (sc->txpow1[14 + i] < -7 || sc->txpow1[14 + i] > 15) + sc->txpow1[14 + i] = 5; + if (sc->txpow2[14 + i] < -7 || sc->txpow2[14 + i] > 15) + sc->txpow2[14 + i] = 5; + } + DPRINTF("chan %d: power1=%d, power2=%d\n", + rt2860_rf2850[14 + i].chan, sc->txpow1[14 + i], + sc->txpow2[14 + i]); + } +} + static int run_read_eeprom(struct run_softc *sc) { @@ -1520,7 +1741,7 @@ run_read_eeprom(struct run_softc *sc) if (sc->mac_ver >= 0x3070) { run_read(sc, RT3070_EFUSE_CTRL, &tmp); DPRINTF("EFUSE_CTRL=0x%08x\n", tmp); - if (tmp & RT3070_SEL_EFUSE) + if ((tmp & RT3070_SEL_EFUSE) || sc->mac_ver == 0x3593) sc->sc_srom_read = run_efuse_read_2; } @@ -1539,7 +1760,7 @@ run_read_eeprom(struct run_softc *sc) sc->sc_bssid[4] = val & 0xff; sc->sc_bssid[5] = val >> 8; - if (sc->mac_ver < 0x5390) { + if (sc->mac_ver < 0x3593) { /* read vender BBP settings */ for (i = 0; i < 10; i++) { run_srom_read(sc, RT2860_EEPROM_BBP_BASE + i, &val); @@ -1562,16 +1783,22 @@ run_read_eeprom(struct run_softc *sc) } /* read RF frequency offset from EEPROM */ - run_srom_read(sc, RT2860_EEPROM_FREQ_LEDS, &val); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_FREQ_LEDS : + RT3593_EEPROM_FREQ, &val); sc->freq = ((val & 0xff) != 0xff) ? val & 0xff : 0; DPRINTF("EEPROM freq offset %d\n", sc->freq & 0xff); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_FREQ_LEDS : + RT3593_EEPROM_FREQ_LEDS, &val); if (val >> 8 != 0xff) { /* read LEDs operating mode */ sc->leds = val >> 8; - run_srom_read(sc, RT2860_EEPROM_LED1, &sc->led[0]); - run_srom_read(sc, RT2860_EEPROM_LED2, &sc->led[1]); - run_srom_read(sc, RT2860_EEPROM_LED3, &sc->led[2]); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_LED1 : + RT3593_EEPROM_LED1, &sc->led[0]); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_LED2 : + RT3593_EEPROM_LED2, &sc->led[1]); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_LED3 : + RT3593_EEPROM_LED3, &sc->led[2]); } else { /* broken EEPROM, use default settings */ sc->leds = 0x01; @@ -1589,6 +1816,8 @@ run_read_eeprom(struct run_softc *sc) run_srom_read(sc, RT2860_EEPROM_ANTENNA, &val); if (val == 0xffff) { + device_printf(sc->sc_dev, + "invalid EEPROM antenna info, using default\n"); DPRINTF("invalid EEPROM antenna info, using default\n"); if (sc->mac_ver == 0x3572) { /* default to RF3052 2T2R */ @@ -1633,60 +1862,11 @@ run_read_eeprom(struct run_softc *sc) sc->rfswitch = val & 1; } - /* read power settings for 2GHz channels */ - for (i = 0; i < 14; i += 2) { - run_srom_read(sc, RT2860_EEPROM_PWR2GHZ_BASE1 + i / 2, &val); - sc->txpow1[i + 0] = (int8_t)(val & 0xff); - sc->txpow1[i + 1] = (int8_t)(val >> 8); - - if (sc->mac_ver != 0x5390) { - run_srom_read(sc, - RT2860_EEPROM_PWR2GHZ_BASE2 + i / 2, &val); - sc->txpow2[i + 0] = (int8_t)(val & 0xff); - sc->txpow2[i + 1] = (int8_t)(val >> 8); - } - } - /* fix broken Tx power entries */ - for (i = 0; i < 14; i++) { - if (sc->mac_ver >= 0x5390) { - if (sc->txpow1[i] < 0 || sc->txpow1[i] > 27) - sc->txpow1[i] = 5; - } else { - if (sc->txpow1[i] < 0 || sc->txpow1[i] > 31) - sc->txpow1[i] = 5; - } - if (sc->mac_ver > 0x5390) { - if (sc->txpow2[i] < 0 || sc->txpow2[i] > 27) - sc->txpow2[i] = 5; - } else if (sc->mac_ver < 0x5390) { - if (sc->txpow2[i] < 0 || sc->txpow2[i] > 31) - sc->txpow2[i] = 5; - } - DPRINTF("chan %d: power1=%d, power2=%d\n", - rt2860_rf2850[i].chan, sc->txpow1[i], sc->txpow2[i]); - } - /* read power settings for 5GHz channels */ - for (i = 0; i < 40; i += 2) { - run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE1 + i / 2, &val); - sc->txpow1[i + 14] = (int8_t)(val & 0xff); - sc->txpow1[i + 15] = (int8_t)(val >> 8); - - run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE2 + i / 2, &val); - sc->txpow2[i + 14] = (int8_t)(val & 0xff); - sc->txpow2[i + 15] = (int8_t)(val >> 8); - } - /* fix broken Tx power entries */ - for (i = 0; i < 40; i++ ) { - if (sc->mac_ver != 0x5592) { - if (sc->txpow1[14 + i] < -7 || sc->txpow1[14 + i] > 15) - sc->txpow1[14 + i] = 5; - if (sc->txpow2[14 + i] < -7 || sc->txpow2[14 + i] > 15) - sc->txpow2[14 + i] = 5; - } - DPRINTF("chan %d: power1=%d, power2=%d\n", - rt2860_rf2850[14 + i].chan, sc->txpow1[14 + i], - sc->txpow2[14 + i]); - } + /* Read Tx power settings. */ + if (sc->mac_ver == 0x3593) + run_rt3593_get_txpower(sc); + else + run_get_txpower(sc); /* read Tx power compensation for each Tx rate */ run_srom_read(sc, RT2860_EEPROM_DELTAPWR, &val); @@ -1722,27 +1902,38 @@ run_read_eeprom(struct run_softc *sc) sc->txpow40mhz_2ghz[ridx], sc->txpow40mhz_5ghz[ridx]); } - /* read RSSI offsets and LNA gains from EEPROM */ - run_srom_read(sc, RT2860_EEPROM_RSSI1_2GHZ, &val); + /* Read RSSI offsets and LNA gains from EEPROM. */ + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_RSSI1_2GHZ : + RT3593_EEPROM_RSSI1_2GHZ, &val); sc->rssi_2ghz[0] = val & 0xff; /* Ant A */ sc->rssi_2ghz[1] = val >> 8; /* Ant B */ - run_srom_read(sc, RT2860_EEPROM_RSSI2_2GHZ, &val); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_RSSI2_2GHZ : + RT3593_EEPROM_RSSI2_2GHZ, &val); if (sc->mac_ver >= 0x3070) { - /* - * On RT3070 chips (limited to 2 Rx chains), this ROM - * field contains the Tx mixer gain for the 2GHz band. - */ - if ((val & 0xff) != 0xff) - sc->txmixgain_2ghz = val & 0x7; + if (sc->mac_ver == 0x3593) { + sc->txmixgain_2ghz = 0; + sc->rssi_2ghz[2] = val & 0xff; /* Ant C */ + } else { + /* + * On RT3070 chips (limited to 2 Rx chains), this ROM + * field contains the Tx mixer gain for the 2GHz band. + */ + if ((val & 0xff) != 0xff) + sc->txmixgain_2ghz = val & 0x7; + } DPRINTF("tx mixer gain=%u (2GHz)\n", sc->txmixgain_2ghz); } else sc->rssi_2ghz[2] = val & 0xff; /* Ant C */ + if (sc->mac_ver == 0x3593) + run_srom_read(sc, RT3593_EEPROM_LNA_5GHZ, &val); sc->lna[2] = val >> 8; /* channel group 2 */ - run_srom_read(sc, RT2860_EEPROM_RSSI1_5GHZ, &val); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_RSSI1_5GHZ : + RT3593_EEPROM_RSSI1_5GHZ, &val); sc->rssi_5ghz[0] = val & 0xff; /* Ant A */ sc->rssi_5ghz[1] = val >> 8; /* Ant B */ - run_srom_read(sc, RT2860_EEPROM_RSSI2_5GHZ, &val); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_RSSI2_5GHZ : + RT3593_EEPROM_RSSI2_5GHZ, &val); if (sc->mac_ver == 0x3572) { /* * On RT3572 chips (limited to 2 Rx chains), this ROM @@ -1753,9 +1944,14 @@ run_read_eeprom(struct run_softc *sc) DPRINTF("tx mixer gain=%u (5GHz)\n", sc->txmixgain_5ghz); } else sc->rssi_5ghz[2] = val & 0xff; /* Ant C */ + if (sc->mac_ver == 0x3593) { + sc->txmixgain_5ghz = 0; + run_srom_read(sc, RT3593_EEPROM_LNA_5GHZ, &val); + } sc->lna[3] = val >> 8; /* channel group 3 */ - run_srom_read(sc, RT2860_EEPROM_LNA, &val); + run_srom_read(sc, (sc->mac_ver != 0x3593) ? RT2860_EEPROM_LNA : + RT3593_EEPROM_LNA, &val); sc->lna[0] = val & 0xff; /* channel group 0 */ sc->lna[1] = val >> 8; /* channel group 1 */ @@ -2570,9 +2766,11 @@ run_rx_frame(struct run_softc *sc, struc rxwi = mtod(m, struct rt2860_rxwi *); len = le16toh(rxwi->len) & 0xfff; - rxwisize = (sc->mac_ver == 0x5592) ? - sizeof(struct rt2860_rxwi) + sizeof(uint64_t) : - sizeof(struct rt2860_rxwi); + rxwisize = sizeof(struct rt2860_rxwi); + if (sc->mac_ver == 0x5592) + rxwisize += sizeof(uint64_t); + else if (sc->mac_ver == 0x3593) + rxwisize += sizeof(uint32_t); if (__predict_false(len > dmalen)) { m_freem(m); ifp->if_ierrors++; @@ -2683,9 +2881,11 @@ run_bulk_rx_callback(struct usb_xfer *xf uint16_t rxwisize; int xferlen; - rxwisize = (sc->mac_ver == 0x5592) ? - sizeof(struct rt2860_rxwi) + sizeof(uint64_t) : - sizeof(struct rt2860_rxwi); + rxwisize = sizeof(struct rt2860_rxwi); + if (sc->mac_ver == 0x5592) + rxwisize += sizeof(uint64_t); + else if (sc->mac_ver == 0x3593) + rxwisize += sizeof(uint32_t); usbd_xfer_status(xfer, &xferlen, NULL, NULL, NULL); @@ -2869,10 +3069,10 @@ tr_setup: STAILQ_REMOVE_HEAD(&pq->tx_qh, next); m = data->m; - size = (sc->mac_ver == 0x5592) ? - RUN_MAX_TXSZ + sizeof(uint32_t) : RUN_MAX_TXSZ; + size = (sc->mac_ver == 0x5592) ? + sizeof(data->desc) + sizeof(uint32_t) : sizeof(data->desc); if ((m->m_pkthdr.len + - sizeof(data->desc) + 3 + 8) > size) { + size + 3 + 8) > RUN_MAX_TXSZ) { DPRINTF("data overflow, %u bytes\n", m->m_pkthdr.len); @@ -2884,8 +3084,6 @@ tr_setup: } pc = usbd_xfer_get_frame(xfer, 0); - size = (sc->mac_ver == 0x5592) ? - sizeof(data->desc) + sizeof(uint32_t) : sizeof(data->desc); usbd_copy_in(pc, 0, &data->desc, size); usbd_m_copy_in(pc, size, m, 0, m->m_pkthdr.len); size += m->m_pkthdr.len; @@ -3599,6 +3797,107 @@ run_ioctl(struct ifnet *ifp, u_long cmd, } static void +run_iq_calib(struct run_softc *sc, u_int chan) +{ + uint16_t val; + + /* Tx0 IQ gain. */ + run_bbp_write(sc, 158, 0x2c); + if (chan <= 14) + run_efuse_read(sc, RT5390_EEPROM_IQ_GAIN_CAL_TX0_2GHZ, &val, 1); + else if (chan <= 64) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH36_TO_CH64_5GHZ, + &val, 1); + } else if (chan <= 138) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH100_TO_CH138_5GHZ, + &val, 1); + } else if (chan <= 165) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH140_TO_CH165_5GHZ, + &val, 1); + } else + val = 0; + run_bbp_write(sc, 159, val); + + /* Tx0 IQ phase. */ + run_bbp_write(sc, 158, 0x2d); + if (chan <= 14) { + run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX0_2GHZ, + &val, 1); + } else if (chan <= 64) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH36_TO_CH64_5GHZ, + &val, 1); + } else if (chan <= 138) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH100_TO_CH138_5GHZ, + &val, 1); + } else if (chan <= 165) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH140_TO_CH165_5GHZ, + &val, 1); + } else + val = 0; + run_bbp_write(sc, 159, val); + + /* Tx1 IQ gain. */ + run_bbp_write(sc, 158, 0x4a); + if (chan <= 14) { + run_efuse_read(sc, RT5390_EEPROM_IQ_GAIN_CAL_TX1_2GHZ, + &val, 1); + } else if (chan <= 64) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH36_TO_CH64_5GHZ, + &val, 1); + } else if (chan <= 138) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH100_TO_CH138_5GHZ, + &val, 1); + } else if (chan <= 165) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH140_TO_CH165_5GHZ, + &val, 1); + } else + val = 0; + run_bbp_write(sc, 159, val); + + /* Tx1 IQ phase. */ + run_bbp_write(sc, 158, 0x4b); + if (chan <= 14) { + run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX1_2GHZ, + &val, 1); + } else if (chan <= 64) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH36_TO_CH64_5GHZ, + &val, 1); + } else if (chan <= 138) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH100_TO_CH138_5GHZ, + &val, 1); + } else if (chan <= 165) { + run_efuse_read(sc, + RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH140_TO_CH165_5GHZ, + &val, 1); + } else + val = 0; + run_bbp_write(sc, 159, val); + + /* RF IQ compensation control. */ + run_bbp_write(sc, 158, 0x04); + run_efuse_read(sc, RT5390_EEPROM_RF_IQ_COMPENSATION_CTL, + &val, 1); + run_bbp_write(sc, 159, val); + + /* RF IQ imbalance compensation control. */ + run_bbp_write(sc, 158, 0x03); + run_efuse_read(sc, + RT5390_EEPROM_RF_IQ_IMBALANCE_COMPENSATION_CTL, &val, 1); + run_bbp_write(sc, 159, val); +} + +static void run_set_agc(struct run_softc *sc, uint8_t agc) { uint8_t bbp; @@ -3626,6 +3925,11 @@ run_select_chan_group(struct run_softc * if (sc->mac_ver < 0x3572) run_bbp_write(sc, 86, 0x00); + if (sc->mac_ver == 0x3593) { + run_bbp_write(sc, 77, 0x98); + run_bbp_write(sc, 83, (group == 0) ? 0x8a : 0x9a); + } + if (group == 0) { if (sc->ext_2ghz_lna) { if (sc->mac_ver >= 0x5390) @@ -3656,7 +3960,8 @@ run_select_chan_group(struct run_softc * } else if (sc->mac_ver >= 0x5390) run_bbp_write(sc, 75, 0x50); else { - run_bbp_write(sc, 82, 0x84); + run_bbp_write(sc, 82, + (sc->mac_ver == 0x3593) ? 0x62 : 0x84); run_bbp_write(sc, 75, 0x50); } } @@ -3682,7 +3987,8 @@ run_select_chan_group(struct run_softc * } else if (sc->mac_ver == 0x3572) run_bbp_write(sc, 82, 0x94); else - run_bbp_write(sc, 82, 0xf2); + run_bbp_write(sc, 82, + (sc->mac_ver == 0x3593) ? 0x82 : 0xf2); if (sc->ext_5ghz_lna) run_bbp_write(sc, 75, 0x46); else @@ -3696,12 +4002,18 @@ run_select_chan_group(struct run_softc * *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-10@FreeBSD.ORG Fri Feb 14 07:31:00 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EFBA616F; Fri, 14 Feb 2014 07:31:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DA787185D; Fri, 14 Feb 2014 07:31:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1E7V0Jh005278; Fri, 14 Feb 2014 07:31:00 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1E7V0Et005273; Fri, 14 Feb 2014 07:31:00 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201402140731.s1E7V0Et005273@svn.freebsd.org> From: Hans Petter Selasky Date: Fri, 14 Feb 2014 07:31:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261873 - stable/10/share/man/man4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 07:31:01 -0000 Author: hselasky Date: Fri Feb 14 07:30:59 2014 New Revision: 261873 URL: http://svnweb.freebsd.org/changeset/base/261873 Log: MFC r261597, r261598 and r261599: Apple touchpad manual page fixes: - Add manual page for wsp driver - Update atp driver manual page - Install atp manual page for all platforms Added: stable/10/share/man/man4/wsp.4 - copied unchanged from r261597, head/share/man/man4/wsp.4 Modified: stable/10/share/man/man4/Makefile stable/10/share/man/man4/atp.4 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/Makefile ============================================================================== --- stable/10/share/man/man4/Makefile Fri Feb 14 07:17:36 2014 (r261872) +++ stable/10/share/man/man4/Makefile Fri Feb 14 07:30:59 2014 (r261873) @@ -59,7 +59,7 @@ MAN= aac.4 \ ath_pci.4 \ atkbd.4 \ atkbdc.4 \ - ${_atp.4} \ + atp.4 \ ${_atf_test_case.4} \ ${_atrtc.4} \ ${_attimer.4} \ @@ -561,6 +561,7 @@ MAN= aac.4 \ wlan_wep.4 \ wlan_xauth.4 \ ${_wpi.4} \ + wsp.4 \ xe.4 \ ${_xen.4} \ xhci.4 \ @@ -748,7 +749,6 @@ _amdsbwd.4= amdsbwd.4 _amdsmb.4= amdsmb.4 _amdtemp.4= amdtemp.4 _asmc.4= asmc.4 -_atp.4= atp.4 _bxe.4= bxe.4 _coretemp.4= coretemp.4 _cpuctl.4= cpuctl.4 @@ -820,9 +820,6 @@ MLINKS+=qlxgbe.4 if_qlxgbe.4 MLINKS+=sfxge.4 if_sfxge.4 .endif -.if ${MACHINE_CPUARCH} == "powerpc" -_atp.4= atp.4 -.endif .if ${MACHINE_CPUARCH} == "mips" _nvram2env.4= nvram2env.4 .endif Modified: stable/10/share/man/man4/atp.4 ============================================================================== --- stable/10/share/man/man4/atp.4 Fri Feb 14 07:17:36 2014 (r261872) +++ stable/10/share/man/man4/atp.4 Fri Feb 14 07:30:59 2014 (r261873) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 12, 2009 +.Dd February 7, 2014 .Dt ATP 4 .Os .Sh NAME @@ -114,57 +114,6 @@ type device\-\-see .Xr moused 8 for an explanation of these mouse types. -.Xr moused 8 -can be configured to read touchpad data from -.Pa /dev/atp0 -and pass it along to the -.Xr sysmouse 4 -driver so that any process wanting to utilize mouse operation (such as -an X server) may fetch it from -.Pa /dev/sysmouse ; -alternatively, -.Pa /dev/atp0 -may be manipulated via -.Xr read 2 -and -.Xr ioctl 2 -calls to get mouse data directly. -.Sh EXAMPLES -To use a compatible Apple Trackpad as your console mouse: -.Pp -.Dl moused -p /dev/atp0 -t auto -.Pp -To launch -.Xr moused 8 -automatically upon boot, add the following to -.Pa /etc/rc.conf : -.Pp -.Dl moused_enable="YES" -.Dl moused_type="auto" -.Dl moused_port="/dev/atp0" -.Pp -If you want -.Xr moused 8 -to also probe for external USB mice or other devices, then add the -following to -.Pa /etc/rc.conf : -.Pp -.Dl moused_nondefault_enable="YES" -.Dl moused_ums0_enable="YES" -.Dl moused_ums1_enable="YES" -.Pp -To be able to use the trackpad under X, change the "Pointer" section in -.Nm xorg.conf -to the following: -.Pp -.Dl Device "/dev/atp0" -.Dl Protocol "Auto" -.Pp -Better still, if you want to be able to use the mouse in both virtual -consoles as well as in X change it to: -.Pp -.Dl Device "/dev/sysmouse" -.Dl Protocol "Auto" .Sh SEE ALSO .Xr sysmouse 4 , .Xr usb 4 , Copied: stable/10/share/man/man4/wsp.4 (from r261597, head/share/man/man4/wsp.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/10/share/man/man4/wsp.4 Fri Feb 14 07:30:59 2014 (r261873, copy of r261597, head/share/man/man4/wsp.4) @@ -0,0 +1,96 @@ +.\" Copyright (c) 2014 Hans Petter Selasky . +.\" 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. +.\" 3. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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$ +.\" +.Dd February 7, 2014 +.Dt WSP 4 +.Os +.Sh NAME +.Nm wsp +.Nd Wellspring touchpad driver +.Sh SYNOPSIS +To compile this driver into the kernel, place the following lines into +your kernel configuration file: +.Bd -ragged -offset indent +.Cd "device wsp" +.Cd "device usb" +.Ed +.Pp +Alternativly, to load the driver as a module at boot time, +place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +wsp_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for the Apple Internal Trackpad +device found in many Apple laptops. +.Pp +The driver simulates a three\-button mouse using multi\-finger tap +detection. +. +A single\-finger press generates a left button click. +A two\-finger tap maps to the right button; whereas a three\-finger tap +gets treated as a middle button click. +. +.Pp +.Nm +supports dynamic reconfiguration using +.Xr sysctl 8 ; +through nodes under +.Nm hw.usb.wsp . +Pointer sensitivity can be controlled using the sysctl tunable +.Nm hw.usb.wsp.scale_factor . +. +.Sh FILES +.Nm +creates a blocking pseudo\-device file, +.Pa /dev/wsp0 , +which presents the mouse as a +.Ar sysmouse +or +.Ar mousesystems +type device\-\-see +.Xr moused 8 +for an explanation of these mouse +types. +.Sh SEE ALSO +.Xr sysmouse 4 , +.Xr usb 4 , +.Xr loader.conf 5 , +.Xr xorg.conf 5 Pq Pa ports/x11/xorg , +.Xr moused 8 , +.Xr sysctl 8 +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Huang Wen Hui Aq huanghwh@gmail.com From owner-svn-src-stable-10@FreeBSD.ORG Fri Feb 14 08:20:33 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 07961EAB; Fri, 14 Feb 2014 08:20:33 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E75451C22; Fri, 14 Feb 2014 08:20:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1E8KWgH025104; Fri, 14 Feb 2014 08:20:32 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1E8KW4u025103; Fri, 14 Feb 2014 08:20:32 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402140820.s1E8KW4u025103@svn.freebsd.org> From: Christian Brueffer Date: Fri, 14 Feb 2014 08:20:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261876 - stable/10/share/man/man4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 08:20:33 -0000 Author: brueffer Date: Fri Feb 14 08:20:32 2014 New Revision: 261876 URL: http://svnweb.freebsd.org/changeset/base/261876 Log: MFC: r261584 In IPv6 code examples, use the correct v6 socket. Modified: stable/10/share/man/man4/multicast.4 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/multicast.4 ============================================================================== --- stable/10/share/man/man4/multicast.4 Fri Feb 14 07:43:39 2014 (r261875) +++ stable/10/share/man/man4/multicast.4 Fri Feb 14 08:20:32 2014 (r261876) @@ -326,7 +326,7 @@ mc.mf6cc_parent = iif_index; for (i = 0; i < maxvifs; i++) if (oifs_ttl[i] > 0) IF_SET(i, &mc.mf6cc_ifset); -setsockopt(mrouter_s4, IPPROTO_IPV6, MRT6_ADD_MFC, +setsockopt(mrouter_s6, IPPROTO_IPV6, MRT6_ADD_MFC, (void *)&mc, sizeof(mc)); .Ed .Pp @@ -365,7 +365,7 @@ struct mf6cctl mc; memset(&mc, 0, sizeof(mc)); memcpy(&mc.mf6cc_origin, &source_addr, sizeof(mc.mf6cc_origin)); memcpy(&mc.mf6cc_mcastgrp, &group_addr, sizeof(mf6cc_mcastgrp)); -setsockopt(mrouter_s4, IPPROTO_IPV6, MRT6_DEL_MFC, +setsockopt(mrouter_s6, IPPROTO_IPV6, MRT6_DEL_MFC, (void *)&mc, sizeof(mc)); .Ed .Pp From owner-svn-src-stable-10@FreeBSD.ORG Fri Feb 14 08:29:01 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1C7EB459; Fri, 14 Feb 2014 08:29:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 076B31C62; Fri, 14 Feb 2014 08:29:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s1E8T09P026938; Fri, 14 Feb 2014 08:29:00 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s1E8T0ch026937; Fri, 14 Feb 2014 08:29:00 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <201402140829.s1E8T0ch026937@svn.freebsd.org> From: Christian Brueffer Date: Fri, 14 Feb 2014 08:29:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r261879 - stable/10/share/man/man4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 08:29:01 -0000 Author: brueffer Date: Fri Feb 14 08:29:00 2014 New Revision: 261879 URL: http://svnweb.freebsd.org/changeset/base/261879 Log: MFC: r261611 Add some context for the "kldload sem" command; minor other improvements. PR: 183650 Submitted by: Bjorn Heidotting Modified: stable/10/share/man/man4/sem.4 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/sem.4 ============================================================================== --- stable/10/share/man/man4/sem.4 Fri Feb 14 08:26:05 2014 (r261878) +++ stable/10/share/man/man4/sem.4 Fri Feb 14 08:29:00 2014 (r261879) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 3, 2011 +.Dd February 7, 2014 .Dt SEM 4 .Os .Sh NAME @@ -32,7 +32,7 @@ .Nd POSIX semaphores .Sh SYNOPSIS To compile this driver into the kernel, -place the following lines in your +place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "options P1003_1B_SEMAPHORES" @@ -45,7 +45,11 @@ module at boot time, place the following sem_load="YES" .Ed .Pp -.Dl "kldload sem" +To load the driver as a module at run-time, run the following +command as root: +.Bd -ragged -offset indent +kldload sem +.Ed .Sh DESCRIPTION The .Nm From owner-svn-src-stable-10@FreeBSD.ORG Sat Feb 15 13:13:02 2014 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0830648E; Sat, 15 Feb 2014 13:13:02 +0000 (UTC) Received: from mail.jr-hosting.nl (mail.jr-hosting.nl [IPv6:2a01:4f8:141:5ffd::25]) by mx1.freebsd.org (Postfix) with ESMTP id 618F71630; Sat, 15 Feb 2014 13:13:01 +0000 (UTC) Received: from [10.0.2.17] (a44084.upc-a.chello.nl [62.163.44.84]) by mail.jr-hosting.nl (Postfix) with ESMTPSA id B15F53F47A; Sat, 15 Feb 2014 14:12:58 +0100 (CET) Content-Type: multipart/signed; boundary="Apple-Mail=_24859574-6FB0-4CB4-AA44-F3209D12DD57"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: svn commit: r261868 - in stable/10: share/man/man4 sys/dev/usb sys/dev/usb/wlan From: Remko Lodder In-Reply-To: <201402140345.s1E3jn2c017508@svn.freebsd.org> Date: Sat, 15 Feb 2014 14:12:56 +0100 Message-Id: <2C809600-4CD1-448C-A6C9-47F3904F4632@FreeBSD.org> References: <201402140345.s1E3jn2c017508@svn.freebsd.org> To: Kevin Lo X-Mailer: Apple Mail (2.1827) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-10@freebsd.org X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Feb 2014 13:13:02 -0000 --Apple-Mail=_24859574-6FB0-4CB4-AA44-F3209D12DD57 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On 14 Feb 2014, at 04:45, Kevin Lo wrote: > Author: kevlo > Date: Fri Feb 14 03:45:49 2014 > New Revision: 261868 > URL: http://svnweb.freebsd.org/changeset/base/261868 >=20 > Log: > MFC r259544, r259545, r259546, r259547, r259812, r259939, r260219, = r260542, > r261118, r261124, r261330: >=20 > - Add support for the MediaTek/Ralink RT3593 chipset. > - Various minor USB WLAN fixes and improvements. Cool, this seems to add support for my Raspberry Pi=92s Nano-wlan module = (RTL8188EU)! Thanks a lot! Remko >=20 > Modified: > stable/10/share/man/man4/run.4 > stable/10/sys/dev/usb/usbdevs > stable/10/sys/dev/usb/wlan/if_run.c > stable/10/sys/dev/usb/wlan/if_runreg.h > stable/10/sys/dev/usb/wlan/if_runvar.h > Directory Properties: > stable/10/ (props changed) >=20 > Modified: stable/10/share/man/man4/run.4 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- stable/10/share/man/man4/run.4 Fri Feb 14 03:34:12 2014 = (r261867) > +++ stable/10/share/man/man4/run.4 Fri Feb 14 03:45:49 2014 = (r261868) > @@ -16,7 +16,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd November 11, 2013 > +.Dd January 3, 2014 > .Dt RUN 4 > .Os > .Sh NAME > @@ -64,8 +64,17 @@ The RT3000U is a single-chip solution ba > an RT3020 (1T1R), RT3021 (1T2R) or RT3022 (2T2R) single-band radio > transceiver. > .Pp > -The RT3900E is a single-chip solution based on an RT5390 MAC/BBP and > -an RT5370 (1T1R) or RT5372 (2T2R) single-band radio transceiver. > +The RT3900E is a single-chip USB 2.0 802.11n solution. > +The MAC/Baseband Processor can be an RT3593, RT5390, RT5392 or an = RT5592. > +The radio can be an RT3053, RT5370, RT5372 or an RT5572. > +The RT3053 chip operates in the 2GHz and 5GHz spectra and supports up = to > +3 transmit paths and 3 receiver paths (3T3R). > +The RT5370 chip operates in the 2GHz spectrum and supports 1 transmit = path > +and 1 receiver path (1T1R). > +The RT5372 chip operates in the 2GHz spectrum and supports up to 2 = transmit > +paths and 2 receiver paths (2T2R). > +The RT5572 chip operates in the 2GHz and 5GHz spectra and supports up = to > +2 transmit paths and 2 receiver paths (2T2R). > .Pp > These are the modes the > .Nm > @@ -116,11 +125,13 @@ driver supports the following wireless a > .It Airlink101 AWLL6090 > .It ASUS USB-N11 > .It ASUS USB-N13 ver. A1 > +.It ASUS USB-N66 > .It ASUS WL-160N > .It Belkin F5D8051 ver 3000 > .It Belkin F5D8053 > .It Belkin F5D8055 > .It Belkin F6D4050 ver 1 > +.It Belkin F9L1103 > .It Buffalo WLI-UC-AG300N > .It Buffalo WLI-UC-G300N > .It Buffalo WLI-UC-G301N > @@ -132,13 +143,15 @@ driver supports the following wireless a > .It Corega CG-WLUSB300AGN > .It Corega CG-WLUSB300GNM > .It D-Link DWA-130 rev B1 > -.It D-Link DWA-140 rev B1, B2, B3 > +.It D-Link DWA-140 rev B1, B2, B3, D1 > .It D-Link DWA-160 rev B2 > +.It D-Link DWA-162 > .It DrayTek Vigor N61 > .It Edimax EW-7711UAn > .It Edimax EW-7711UTn > .It Edimax EW-7717Un > .It Edimax EW-7718Un > +.It Edimax EW-7733UnD > .It Gigabyte GN-WB30N > .It Gigabyte GN-WB31N > .It Gigabyte GN-WB32L > @@ -164,6 +177,7 @@ driver supports the following wireless a > .It TP-LINK TL-WN727N v3 > .It Unex DNUR-81 > .It Unex DNUR-82 > +.It ZyXEL NWD2705 > .It ZyXEL NWD210N > .It ZyXEL NWD270N > .El > @@ -235,4 +249,4 @@ driver was written by > The > .Nm > driver does not support any of the 802.11n capabilities offered by the > -RT2800 and RT3000 chipsets. > +RT2800, RT3000 and RT3900 chipsets. >=20 > Modified: stable/10/sys/dev/usb/usbdevs > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- stable/10/sys/dev/usb/usbdevs Fri Feb 14 03:34:12 2014 = (r261867) > +++ stable/10/sys/dev/usb/usbdevs Fri Feb 14 03:45:49 2014 = (r261868) > @@ -1183,6 +1183,7 @@ product ASUS USBN13 0x1784 USB-N13 > product ASUS RT3070_1 0x1790 RT3070 > product ASUS USBN10 0x1786 USB-N10 > product ASUS RTL8192CU 0x17ab RTL8192CU > +product ASUS USBN66 0x17ad USB-N66 > product ASUS RTL8192SU 0x1791 RTL8192SU > product ASUS A730W 0x4202 ASUS MyPal A730W > product ASUS P535 0x420f ASUS P535 PDA > @@ -1285,6 +1286,7 @@ product BELKIN F5U409 0x0409 F5U409 = Ser > product BELKIN F6C550AVR 0x0551 F6C550-AVR UPS > product BELKIN F5U120 0x1203 F5U120-PC Hub > product BELKIN RTL8188CU 0x1102 RTL8188CU Wireless Adapter > +product BELKIN F9L1103 0x1103 F9L1103 Wireless Adapter > product BELKIN RTL8192CU 0x2102 RTL8192CU Wireless Adapter > product BELKIN F7D2102 0x2103 F7D2102 Wireless Adapter > product BELKIN ZD1211B 0x4050 ZD1211B > @@ -1598,6 +1600,8 @@ product DLINK RT3072 0x3c0a RT3072 > product DLINK DWA140B3 0x3c15 DWA-140 rev B3 > product DLINK DWA160B2 0x3c1a DWA-160 rev B2 > product DLINK DWA127 0x3c1b DWA-127 Wireless Adapter > +product DLINK DWA162 0x3c1f DWA-162 Wireless Adapter > +product DLINK DWA140D1 0x3c20 DWA-140 rev D1 > product DLINK DSB650C 0x4000 10Mbps Ethernet > product DLINK DSB650TX1 0x4001 10/100 Ethernet > product DLINK DSB650TX 0x4002 10/100 Ethernet > @@ -1658,6 +1662,7 @@ product EDIMAX RTL8192SU_3 0x7622 RTL819 > product EDIMAX RT2870_1 0x7711 RT2870 > product EDIMAX EW7717 0x7717 EW-7717 > product EDIMAX EW7718 0x7718 EW-7718 > +product EDIMAX EW7733UND 0x7733 EW-7733UnD > product EDIMAX EW7811UN 0x7811 EW-7811Un > product EDIMAX RTL8192CU 0x7822 RTL8192CU >=20 > @@ -3617,11 +3622,13 @@ product RALINK RT2573 0x2573 = RT2501USB=20 > product RALINK RT2671 0x2671 RT2601USB Wireless Adapter > product RALINK RT2770 0x2770 RT2770 > product RALINK RT2870 0x2870 RT2870 > +product RALINK RT_STOR 0x2878 USB Storage > product RALINK RT3070 0x3070 RT3070 > product RALINK RT3071 0x3071 RT3071 > product RALINK RT3072 0x3072 RT3072 > product RALINK RT3370 0x3370 RT3370 > product RALINK RT3572 0x3572 RT3572 > +product RALINK RT3573 0x3573 RT3573 > product RALINK RT5370 0x5370 RT5370 > product RALINK RT5572 0x5572 RT5572 > product RALINK RT8070 0x8070 RT8070 > @@ -3643,10 +3650,11 @@ product REALTEK RTL8171 0x8171 = RTL8171 > product REALTEK RTL8172 0x8172 RTL8172 > product REALTEK RTL8173 0x8173 RTL8173 > product REALTEK RTL8174 0x8174 RTL8174 > -product REALTEK RTL8188CE_1 0x817e RTL8188CE > -product REALTEK RTL8188CU_0 0x8176 RTL8188CU > -product REALTEK RTL8188CU_1 0x817a RTL8188CU > -product REALTEK RTL8188CU_2 0x817b RTL8188CU > +product REALTEK RTL8188CU_0 0x8176 RTL8188CU > +product REALTEK RTL8188EU 0x8179 RTL8188EU > +product REALTEK RTL8188CE_1 0x817e RTL8188CE > +product REALTEK RTL8188CU_1 0x817a RTL8188CU > +product REALTEK RTL8188CU_2 0x817b RTL8188CU > product REALTEK RTL8187 0x8187 RTL8187 Wireless Adapter > product REALTEK RTL8187B_0 0x8189 RTL8187B Wireless Adapter > product REALTEK RTL8187B_1 0x8197 RTL8187B Wireless Adapter > @@ -4486,3 +4494,4 @@ product ZYXEL G202 0x3410 G-202 > product ZYXEL RT2870_1 0x3416 RT2870 > product ZYXEL RT2870_2 0x341a RT2870 > product ZYXEL RTL8192CU 0x341f RTL8192CU > +product ZYXEL NWD2705 0x3421 NWD2705 >=20 > Modified: stable/10/sys/dev/usb/wlan/if_run.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- stable/10/sys/dev/usb/wlan/if_run.c Fri Feb 14 03:34:12 2014 = (r261867) > +++ stable/10/sys/dev/usb/wlan/if_run.c Fri Feb 14 03:45:49 2014 = (r261868) > @@ -2,7 +2,7 @@ > * Copyright (c) 2008,2010 Damien Bergamini > * ported to FreeBSD by Akinori Furukoshi > * USB Consulting, Hans Petter Selasky > - * Copyright (c) 2013 Kevin Lo > + * Copyright (c) 2013-2014 Kevin Lo > * > * Permission to use, copy, modify, and distribute this software for = any > * purpose with or without fee is hereby granted, provided that the = above > @@ -69,14 +69,15 @@ __FBSDID("$FreeBSD$"); > #include > #include "usbdevs.h" >=20 > -#define USB_DEBUG_VAR run_debug > +#define USB_DEBUG_VAR run_debug > #include > +#include >=20 > #include > #include >=20 > #ifdef USB_DEBUG > -#define RUN_DEBUG > +#define RUN_DEBUG > #endif >=20 > #ifdef RUN_DEBUG > @@ -86,17 +87,19 @@ SYSCTL_INT(_hw_usb_run, OID_AUTO, debug, > "run debug level"); > #endif >=20 > -#define IEEE80211_HAS_ADDR4(wh) \ > +#define IEEE80211_HAS_ADDR4(wh) \ > (((wh)->i_fc[1] & IEEE80211_FC1_DIR_MASK) =3D=3D = IEEE80211_FC1_DIR_DSTODS) >=20 > /* > * Because of LOR in run_key_delete(), use atomic instead. > * '& RUN_CMDQ_MASQ' is to loop cmdq[]. > */ > -#define RUN_CMDQ_GET(c) (atomic_fetchadd_32((c), 1) & = RUN_CMDQ_MASQ) > +#define RUN_CMDQ_GET(c) (atomic_fetchadd_32((c), 1) & = RUN_CMDQ_MASQ) >=20 > static const STRUCT_USB_HOST_ID run_devs[] =3D { > -#define RUN_DEV(v,p) { USB_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p) = } > +#define RUN_DEV(v,p) { USB_VP(USB_VENDOR_##v, = USB_PRODUCT_##v##_##p) } > +#define RUN_DEV_EJECT(v,p) \ > + { USB_VPI(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, 0) } > RUN_DEV(ABOCOM, RT2770), > RUN_DEV(ABOCOM, RT2870), > RUN_DEV(ABOCOM, RT3070), > @@ -135,6 +138,7 @@ static const STRUCT_USB_HOST_ID run_devs > RUN_DEV(ASUS, RT2870_5), > RUN_DEV(ASUS, USBN13), > RUN_DEV(ASUS, RT3070_1), > + RUN_DEV(ASUS, USBN66), > RUN_DEV(ASUS, USB_N53), > RUN_DEV(ASUS2, USBN11), > RUN_DEV(AZUREWAVE, RT2870_1), > @@ -142,6 +146,7 @@ static const STRUCT_USB_HOST_ID run_devs > RUN_DEV(AZUREWAVE, RT3070_1), > RUN_DEV(AZUREWAVE, RT3070_2), > RUN_DEV(AZUREWAVE, RT3070_3), > + RUN_DEV(BELKIN, F9L1103), > RUN_DEV(BELKIN, F5D8053V3), > RUN_DEV(BELKIN, F5D8055), > RUN_DEV(BELKIN, F5D8055V2), > @@ -174,6 +179,7 @@ static const STRUCT_USB_HOST_ID run_devs > RUN_DEV(DLINK, DWA127), > RUN_DEV(DLINK, DWA140B3), > RUN_DEV(DLINK, DWA160B2), > + RUN_DEV(DLINK, DWA162), > RUN_DEV(DLINK2, DWA130), > RUN_DEV(DLINK2, RT2870_1), > RUN_DEV(DLINK2, RT2870_2), > @@ -186,6 +192,7 @@ static const STRUCT_USB_HOST_ID run_devs > RUN_DEV(DLINK2, RT3072_1), > RUN_DEV(EDIMAX, EW7717), > RUN_DEV(EDIMAX, EW7718), > + RUN_DEV(EDIMAX, EW7733UND), > RUN_DEV(EDIMAX, RT2870_1), > RUN_DEV(ENCORE, RT3070_1), > RUN_DEV(ENCORE, RT3070_2), > @@ -257,6 +264,7 @@ static const STRUCT_USB_HOST_ID run_devs > RUN_DEV(RALINK, RT3072), > RUN_DEV(RALINK, RT3370), > RUN_DEV(RALINK, RT3572), > + RUN_DEV(RALINK, RT3573), > RUN_DEV(RALINK, RT5370), > RUN_DEV(RALINK, RT5572), > RUN_DEV(RALINK, RT8070), > @@ -306,6 +314,9 @@ static const STRUCT_USB_HOST_ID run_devs > RUN_DEV(ZINWELL, RT3072_2), > RUN_DEV(ZYXEL, RT2870_1), > RUN_DEV(ZYXEL, RT2870_2), > + RUN_DEV(ZYXEL, NWD2705), > + RUN_DEV_EJECT(RALINK, RT_STOR), > +#undef RUN_DEV_EJECT > #undef RUN_DEV > }; >=20 > @@ -321,6 +332,9 @@ static usb_callback_t run_bulk_tx_callba > static usb_callback_t run_bulk_tx_callback4; > static usb_callback_t run_bulk_tx_callback5; >=20 > +static void run_autoinst(void *, struct usb_device *, > + struct usb_attach_arg *); > +static int run_driver_loaded(struct module *, int, void *); > static void run_bulk_tx_callbackN(struct usb_xfer *xfer, > usb_error_t error, u_int index); > static struct ieee80211vap *run_vap_create(struct ieee80211com *, > @@ -344,6 +358,7 @@ static int run_write(struct run_softc *, > static int run_write_region_1(struct run_softc *, uint16_t, > const uint8_t *, int); > static int run_set_region_4(struct run_softc *, uint16_t, uint32_t, = int); > +static int run_efuse_read(struct run_softc *, uint16_t, uint16_t *, = int); > static int run_efuse_read_2(struct run_softc *, uint16_t, uint16_t = *); > static int run_eeprom_read_2(struct run_softc *, uint16_t, uint16_t = *); > static int run_rt2870_rf_write(struct run_softc *, uint32_t); > @@ -353,6 +368,8 @@ static int run_bbp_read(struct run_softc > static int run_bbp_write(struct run_softc *, uint8_t, uint8_t); > static int run_mcu_cmd(struct run_softc *, uint8_t, uint16_t); > static const char *run_get_rf(uint16_t); > +static void run_rt3593_get_txpower(struct run_softc *); > +static void run_get_txpower(struct run_softc *); > static int run_read_eeprom(struct run_softc *); > static struct ieee80211_node *run_node_alloc(struct ieee80211vap *, > const uint8_t mac[IEEE80211_ADDR_LEN]); > @@ -390,12 +407,14 @@ static int run_raw_xmit(struct ieee80211 > const struct ieee80211_bpf_params *); > static void run_start(struct ifnet *); > static int run_ioctl(struct ifnet *, u_long, caddr_t); > +static void run_iq_calib(struct run_softc *, u_int); > static void run_set_agc(struct run_softc *, uint8_t); > static void run_select_chan_group(struct run_softc *, int); > static void run_set_rx_antenna(struct run_softc *, int); > static void run_rt2870_set_chan(struct run_softc *, u_int); > static void run_rt3070_set_chan(struct run_softc *, u_int); > static void run_rt3572_set_chan(struct run_softc *, u_int); > +static void run_rt3593_set_chan(struct run_softc *, u_int); > static void run_rt5390_set_chan(struct run_softc *, u_int); > static void run_rt5592_set_chan(struct run_softc *, u_int); > static int run_set_chan(struct run_softc *, struct = ieee80211_channel *); > @@ -424,10 +443,13 @@ static void run_update_promisc(struct if > static void run_rt5390_bbp_init(struct run_softc *); > static int run_bbp_init(struct run_softc *); > static int run_rt3070_rf_init(struct run_softc *); > +static void run_rt3593_rf_init(struct run_softc *); > static void run_rt5390_rf_init(struct run_softc *); > static int run_rt3070_filter_calib(struct run_softc *, uint8_t, = uint8_t, > uint8_t *); > static void run_rt3070_rf_setup(struct run_softc *); > +static void run_rt3593_rf_setup(struct run_softc *); > +static void run_rt5390_rf_setup(struct run_softc *); > static int run_txrx_enable(struct run_softc *); > static void run_adjust_freq_offset(struct run_softc *); > static void run_init(void *); > @@ -435,6 +457,30 @@ static void run_init_locked(struct run_s > static void run_stop(void *); > static void run_delay(struct run_softc *, u_int); >=20 > +static eventhandler_tag run_etag; > + > +static const struct rt2860_rate { > + uint8_t rate; > + uint8_t mcs; > + enum ieee80211_phytype phy; > + uint8_t ctl_ridx; > + uint16_t sp_ack_dur; > + uint16_t lp_ack_dur; > +} rt2860_rates[] =3D { > + { 2, 0, IEEE80211_T_DS, 0, 314, 314 }, > + { 4, 1, IEEE80211_T_DS, 1, 258, 162 }, > + { 11, 2, IEEE80211_T_DS, 2, 223, 127 }, > + { 22, 3, IEEE80211_T_DS, 3, 213, 117 }, > + { 12, 0, IEEE80211_T_OFDM, 4, 60, 60 }, > + { 18, 1, IEEE80211_T_OFDM, 4, 52, 52 }, > + { 24, 2, IEEE80211_T_OFDM, 6, 48, 48 }, > + { 36, 3, IEEE80211_T_OFDM, 6, 44, 44 }, > + { 48, 4, IEEE80211_T_OFDM, 8, 44, 44 }, > + { 72, 5, IEEE80211_T_OFDM, 8, 40, 40 }, > + { 96, 6, IEEE80211_T_OFDM, 8, 40, 40 }, > + { 108, 7, IEEE80211_T_OFDM, 8, 40, 40 } > +}; > + > static const struct { > uint16_t reg; > uint32_t val; > @@ -497,6 +543,8 @@ static const struct { > RT3070_DEF_RF > },rt3572_def_rf[] =3D { > RT3572_DEF_RF > +},rt3593_def_rf[] =3D { > + RT3593_DEF_RF > },rt5390_def_rf[] =3D { > RT5390_DEF_RF > },rt5392_def_rf[] =3D { > @@ -589,6 +637,46 @@ static const struct usb_config run_confi > } > }; >=20 > +static void > +run_autoinst(void *arg, struct usb_device *udev, > + struct usb_attach_arg *uaa) > +{ > + struct usb_interface *iface; > + struct usb_interface_descriptor *id; > + > + if (uaa->dev_state !=3D UAA_DEV_READY) > + return; > + > + iface =3D usbd_get_iface(udev, 0); > + if (iface =3D=3D NULL) > + return; > + id =3D iface->idesc; > + if (id =3D=3D NULL || id->bInterfaceClass !=3D UICLASS_MASS) > + return; > + if (usbd_lookup_id_by_uaa(run_devs, sizeof(run_devs), uaa)) > + return; > + > + if (usb_msc_eject(udev, 0, MSC_EJECT_STOPUNIT) =3D=3D 0) > + uaa->dev_state =3D UAA_DEV_EJECTING; > +} > + > +static int > +run_driver_loaded(struct module *mod, int what, void *arg) > +{ > + switch (what) { > + case MOD_LOAD: > + run_etag =3D EVENTHANDLER_REGISTER(usb_dev_configured, > + run_autoinst, NULL, EVENTHANDLER_PRI_ANY); > + break; > + case MOD_UNLOAD: > + EVENTHANDLER_DEREGISTER(usb_dev_configured, run_etag); > + break; > + default: > + return (EOPNOTSUPP); > + } > + return (0); > +} > + > static int > run_match(device_t self) > { > @@ -710,7 +798,8 @@ run_attach(device_t self) > setbit(&bands, IEEE80211_MODE_11B); > setbit(&bands, IEEE80211_MODE_11G); > if (sc->rf_rev =3D=3D RT2860_RF_2750 || sc->rf_rev =3D=3D = RT2860_RF_2850 || > - sc->rf_rev =3D=3D RT3070_RF_3052 || sc->rf_rev =3D=3D = RT5592_RF_5592) > + sc->rf_rev =3D=3D RT3070_RF_3052 || sc->rf_rev =3D=3D = RT3593_RF_3053 || > + sc->rf_rev =3D=3D RT5592_RF_5592) > setbit(&bands, IEEE80211_MODE_11A); > ieee80211_init_channels(ic, NULL, &bands); >=20 > @@ -1061,9 +1150,11 @@ run_load_microcode(struct run_softc *sc) > } >=20 > /* write microcode image */ > - run_write_region_1(sc, RT2870_FW_BASE, base, 4096); > - run_write(sc, RT2860_H2M_MAILBOX_CID, 0xffffffff); > - run_write(sc, RT2860_H2M_MAILBOX_STATUS, 0xffffffff); > + if (sc->mac_ver !=3D 0x3593) { > + run_write_region_1(sc, RT2870_FW_BASE, base, 4096); > + run_write(sc, RT2860_H2M_MAILBOX_CID, 0xffffffff); > + run_write(sc, RT2860_H2M_MAILBOX_STATUS, 0xffffffff); > + } >=20 > req.bmRequestType =3D UT_WRITE_VENDOR_DEVICE; > req.bRequest =3D RT2870_RESET; > @@ -1078,15 +1169,16 @@ run_load_microcode(struct run_softc *sc) >=20 > run_delay(sc, 10); >=20 > + run_write(sc, RT2860_H2M_BBPAGENT, 0); > run_write(sc, RT2860_H2M_MAILBOX, 0); > + run_write(sc, RT2860_H2M_INTSRC, 0); > if ((error =3D run_mcu_cmd(sc, RT2860_MCU_CMD_RFRESET, 0)) !=3D = 0) > goto fail; >=20 > /* wait until microcontroller is ready */ > for (ntries =3D 0; ntries < 1000; ntries++) { > - if ((error =3D run_read(sc, RT2860_SYS_CTRL, &tmp)) !=3D = 0) { > + if ((error =3D run_read(sc, RT2860_SYS_CTRL, &tmp)) !=3D = 0) > goto fail; > - } > if (tmp & RT2860_MCU_READY) > break; > run_delay(sc, 10); > @@ -1248,9 +1340,8 @@ run_set_region_4(struct run_softc *sc, u > return (error); > } >=20 > -/* Read 16-bit from eFUSE ROM (RT3070 only.) */ > static int > -run_efuse_read_2(struct run_softc *sc, uint16_t addr, uint16_t *val) > +run_efuse_read(struct run_softc *sc, uint16_t addr, uint16_t *val, = int count) > { > uint32_t tmp; > uint16_t reg; > @@ -1259,7 +1350,8 @@ run_efuse_read_2(struct run_softc *sc, u > if ((error =3D run_read(sc, RT3070_EFUSE_CTRL, &tmp)) !=3D 0) > return (error); >=20 > - addr *=3D 2; > + if (count =3D=3D 2) > + addr *=3D 2; > /*- > * Read one 16-byte block into registers EFUSE_DATA[0-3]: > * DATA0: F E D C > @@ -1289,10 +1381,19 @@ run_efuse_read_2(struct run_softc *sc, u > if ((error =3D run_read(sc, reg, &tmp)) !=3D 0) > return (error); >=20 > - *val =3D (addr & 2) ? tmp >> 16 : tmp & 0xffff; > + tmp >>=3D (8 * (addr & 0x3)); > + *val =3D (addr & 1) ? tmp >> 16 : tmp & 0xffff; > + > return (0); > } >=20 > +/* Read 16-bit from eFUSE ROM for RT3xxx. */ > +static int > +run_efuse_read_2(struct run_softc *sc, uint16_t addr, uint16_t *val) > +{ > + return (run_efuse_read(sc, addr, val, 2)); > +} > + > static int > run_eeprom_read_2(struct run_softc *sc, uint16_t addr, uint16_t *val) > { > @@ -1305,7 +1406,7 @@ run_eeprom_read_2(struct run_softc *sc,=20 > req.bRequest =3D RT2870_EEPROM_READ; > USETW(req.wValue, 0); > USETW(req.wIndex, addr); > - USETW(req.wLength, sizeof tmp); > + USETW(req.wLength, sizeof(tmp)); >=20 > error =3D usbd_do_request(sc->sc_udev, &sc->sc_mtx, &req, &tmp); > if (error =3D=3D 0) > @@ -1500,6 +1601,7 @@ run_get_rf(uint16_t rev) > case RT3070_RF_3021: return "RT3021"; > case RT3070_RF_3022: return "RT3022"; > case RT3070_RF_3052: return "RT3052"; > + case RT3593_RF_3053: return "RT3053"; > case RT5592_RF_5592: return "RT5592"; > case RT5390_RF_5370: return "RT5370"; > case RT5390_RF_5372: return "RT5372"; > @@ -1507,6 +1609,125 @@ run_get_rf(uint16_t rev) > return ("unknown"); > } >=20 > +static void > +run_rt3593_get_txpower(struct run_softc *sc) > +{ > + uint16_t addr, val; > + int i; > + > + /* Read power settings for 2GHz channels. */ > + for (i =3D 0; i < 14; i +=3D 2) { > + addr =3D (sc->ntxchains =3D=3D 3) ? = RT3593_EEPROM_PWR2GHZ_BASE1 : > + RT2860_EEPROM_PWR2GHZ_BASE1; > + run_srom_read(sc, addr + i / 2, &val); > + sc->txpow1[i + 0] =3D (int8_t)(val & 0xff); > + sc->txpow1[i + 1] =3D (int8_t)(val >> 8); > + > + addr =3D (sc->ntxchains =3D=3D 3) ? = RT3593_EEPROM_PWR2GHZ_BASE2 : > + RT2860_EEPROM_PWR2GHZ_BASE2; > + run_srom_read(sc, addr + i / 2, &val); > + sc->txpow2[i + 0] =3D (int8_t)(val & 0xff); > + sc->txpow2[i + 1] =3D (int8_t)(val >> 8); > + > + if (sc->ntxchains =3D=3D 3) { > + run_srom_read(sc, RT3593_EEPROM_PWR2GHZ_BASE3 + = i / 2, > + &val); > + sc->txpow3[i + 0] =3D (int8_t)(val & 0xff); > + sc->txpow3[i + 1] =3D (int8_t)(val >> 8); > + } > + } > + /* Fix broken Tx power entries. */ > + for (i =3D 0; i < 14; i++) { > + if (sc->txpow1[i] > 31) > + sc->txpow1[i] =3D 5; > + if (sc->txpow2[i] > 31) > + sc->txpow2[i] =3D 5; > + if (sc->ntxchains =3D=3D 3) { > + if (sc->txpow3[i] > 31) > + sc->txpow3[i] =3D 5; > + } > + } > + /* Read power settings for 5GHz channels. */ > + for (i =3D 0; i < 40; i +=3D 2) { > + run_srom_read(sc, RT3593_EEPROM_PWR5GHZ_BASE1 + i / 2, = &val); > + sc->txpow1[i + 14] =3D (int8_t)(val & 0xff); > + sc->txpow1[i + 15] =3D (int8_t)(val >> 8); > + > + run_srom_read(sc, RT3593_EEPROM_PWR5GHZ_BASE2 + i / 2, = &val); > + sc->txpow2[i + 14] =3D (int8_t)(val & 0xff); > + sc->txpow2[i + 15] =3D (int8_t)(val >> 8); > + > + if (sc->ntxchains =3D=3D 3) { > + run_srom_read(sc, RT3593_EEPROM_PWR5GHZ_BASE3 + = i / 2, > + &val); > + sc->txpow3[i + 14] =3D (int8_t)(val & 0xff); > + sc->txpow3[i + 15] =3D (int8_t)(val >> 8); > + } > + } > +} > + > +static void > +run_get_txpower(struct run_softc *sc) > +{ > + uint16_t val; > + int i; > + > + /* Read power settings for 2GHz channels. */ > + for (i =3D 0; i < 14; i +=3D 2) { > + run_srom_read(sc, RT2860_EEPROM_PWR2GHZ_BASE1 + i / 2, = &val); > + sc->txpow1[i + 0] =3D (int8_t)(val & 0xff); > + sc->txpow1[i + 1] =3D (int8_t)(val >> 8); > + > + if (sc->mac_ver !=3D 0x5390) { > + run_srom_read(sc, > + RT2860_EEPROM_PWR2GHZ_BASE2 + i / 2, &val); > + sc->txpow2[i + 0] =3D (int8_t)(val & 0xff); > + sc->txpow2[i + 1] =3D (int8_t)(val >> 8); > + } > + } > + /* Fix broken Tx power entries. */ > + for (i =3D 0; i < 14; i++) { > + if (sc->mac_ver >=3D 0x5390) { > + if (sc->txpow1[i] < 0 || sc->txpow1[i] > 27) > + sc->txpow1[i] =3D 5; > + } else { > + if (sc->txpow1[i] < 0 || sc->txpow1[i] > 31) > + sc->txpow1[i] =3D 5; > + } > + if (sc->mac_ver > 0x5390) { > + if (sc->txpow2[i] < 0 || sc->txpow2[i] > 27) > + sc->txpow2[i] =3D 5; > + } else if (sc->mac_ver < 0x5390) { > + if (sc->txpow2[i] < 0 || sc->txpow2[i] > 31) > + sc->txpow2[i] =3D 5; > + } > + DPRINTF("chan %d: power1=3D%d, power2=3D%d\n", > + rt2860_rf2850[i].chan, sc->txpow1[i], = sc->txpow2[i]); > + } > + /* Read power settings for 5GHz channels. */ > + for (i =3D 0; i < 40; i +=3D 2) { > + run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE1 + i / 2, = &val); > + sc->txpow1[i + 14] =3D (int8_t)(val & 0xff); > + sc->txpow1[i + 15] =3D (int8_t)(val >> 8); > + > + run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE2 + i / 2, = &val); > + sc->txpow2[i + 14] =3D (int8_t)(val & 0xff); > + sc->txpow2[i + 15] =3D (int8_t)(val >> 8); > + } > + /* Fix broken Tx power entries. */ > + for (i =3D 0; i < 40; i++ ) { > + if (sc->mac_ver !=3D 0x5592) { > + if (sc->txpow1[14 + i] < -7 || sc->txpow1[14 + = i] > 15) > + sc->txpow1[14 + i] =3D 5; > + if (sc->txpow2[14 + i] < -7 || sc->txpow2[14 + = i] > 15) > + sc->txpow2[14 + i] =3D 5; > + } > + DPRINTF("chan %d: power1=3D%d, power2=3D%d\n", > + rt2860_rf2850[14 + i].chan, sc->txpow1[14 + i], > + sc->txpow2[14 + i]); > + } > +} > + > static int > run_read_eeprom(struct run_softc *sc) > { > @@ -1520,7 +1741,7 @@ run_read_eeprom(struct run_softc *sc) > if (sc->mac_ver >=3D 0x3070) { > run_read(sc, RT3070_EFUSE_CTRL, &tmp); > DPRINTF("EFUSE_CTRL=3D0x%08x\n", tmp); > - if (tmp & RT3070_SEL_EFUSE) > + if ((tmp & RT3070_SEL_EFUSE) || sc->mac_ver =3D=3D = 0x3593) > sc->sc_srom_read =3D run_efuse_read_2; > } >=20 > @@ -1539,7 +1760,7 @@ run_read_eeprom(struct run_softc *sc) > sc->sc_bssid[4] =3D val & 0xff; > sc->sc_bssid[5] =3D val >> 8; >=20 > - if (sc->mac_ver < 0x5390) { > + if (sc->mac_ver < 0x3593) { > /* read vender BBP settings */ > for (i =3D 0; i < 10; i++) { > run_srom_read(sc, RT2860_EEPROM_BBP_BASE + i, = &val); > @@ -1562,16 +1783,22 @@ run_read_eeprom(struct run_softc *sc) > } >=20 > /* read RF frequency offset from EEPROM */ > - run_srom_read(sc, RT2860_EEPROM_FREQ_LEDS, &val); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_FREQ_LEDS : > + RT3593_EEPROM_FREQ, &val); > sc->freq =3D ((val & 0xff) !=3D 0xff) ? val & 0xff : 0; > DPRINTF("EEPROM freq offset %d\n", sc->freq & 0xff); >=20 > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_FREQ_LEDS : > + RT3593_EEPROM_FREQ_LEDS, &val); > if (val >> 8 !=3D 0xff) { > /* read LEDs operating mode */ > sc->leds =3D val >> 8; > - run_srom_read(sc, RT2860_EEPROM_LED1, &sc->led[0]); > - run_srom_read(sc, RT2860_EEPROM_LED2, &sc->led[1]); > - run_srom_read(sc, RT2860_EEPROM_LED3, &sc->led[2]); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_LED1 : > + RT3593_EEPROM_LED1, &sc->led[0]); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_LED2 : > + RT3593_EEPROM_LED2, &sc->led[1]); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_LED3 : > + RT3593_EEPROM_LED3, &sc->led[2]); > } else { > /* broken EEPROM, use default settings */ > sc->leds =3D 0x01; > @@ -1589,6 +1816,8 @@ run_read_eeprom(struct run_softc *sc) > run_srom_read(sc, RT2860_EEPROM_ANTENNA, &val); >=20 > if (val =3D=3D 0xffff) { > + device_printf(sc->sc_dev, > + "invalid EEPROM antenna info, using default\n"); > DPRINTF("invalid EEPROM antenna info, using default\n"); > if (sc->mac_ver =3D=3D 0x3572) { > /* default to RF3052 2T2R */ > @@ -1633,60 +1862,11 @@ run_read_eeprom(struct run_softc *sc) > sc->rfswitch =3D val & 1; > } >=20 > - /* read power settings for 2GHz channels */ > - for (i =3D 0; i < 14; i +=3D 2) { > - run_srom_read(sc, RT2860_EEPROM_PWR2GHZ_BASE1 + i / 2, = &val); > - sc->txpow1[i + 0] =3D (int8_t)(val & 0xff); > - sc->txpow1[i + 1] =3D (int8_t)(val >> 8); > - > - if (sc->mac_ver !=3D 0x5390) { > - run_srom_read(sc, > - RT2860_EEPROM_PWR2GHZ_BASE2 + i / 2, &val); > - sc->txpow2[i + 0] =3D (int8_t)(val & 0xff); > - sc->txpow2[i + 1] =3D (int8_t)(val >> 8); > - } > - } > - /* fix broken Tx power entries */ > - for (i =3D 0; i < 14; i++) { > - if (sc->mac_ver >=3D 0x5390) { > - if (sc->txpow1[i] < 0 || sc->txpow1[i] > 27) > - sc->txpow1[i] =3D 5; > - } else { > - if (sc->txpow1[i] < 0 || sc->txpow1[i] > 31) > - sc->txpow1[i] =3D 5; > - } > - if (sc->mac_ver > 0x5390) { > - if (sc->txpow2[i] < 0 || sc->txpow2[i] > 27) > - sc->txpow2[i] =3D 5; > - } else if (sc->mac_ver < 0x5390) { > - if (sc->txpow2[i] < 0 || sc->txpow2[i] > 31) > - sc->txpow2[i] =3D 5; > - } > - DPRINTF("chan %d: power1=3D%d, power2=3D%d\n", > - rt2860_rf2850[i].chan, sc->txpow1[i], = sc->txpow2[i]); > - } > - /* read power settings for 5GHz channels */ > - for (i =3D 0; i < 40; i +=3D 2) { > - run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE1 + i / 2, = &val); > - sc->txpow1[i + 14] =3D (int8_t)(val & 0xff); > - sc->txpow1[i + 15] =3D (int8_t)(val >> 8); > - > - run_srom_read(sc, RT2860_EEPROM_PWR5GHZ_BASE2 + i / 2, = &val); > - sc->txpow2[i + 14] =3D (int8_t)(val & 0xff); > - sc->txpow2[i + 15] =3D (int8_t)(val >> 8); > - } > - /* fix broken Tx power entries */ > - for (i =3D 0; i < 40; i++ ) { > - if (sc->mac_ver !=3D 0x5592) { > - if (sc->txpow1[14 + i] < -7 || sc->txpow1[14 + = i] > 15) > - sc->txpow1[14 + i] =3D 5; > - if (sc->txpow2[14 + i] < -7 || sc->txpow2[14 + = i] > 15) > - sc->txpow2[14 + i] =3D 5; > - } > - DPRINTF("chan %d: power1=3D%d, power2=3D%d\n", > - rt2860_rf2850[14 + i].chan, sc->txpow1[14 + i], > - sc->txpow2[14 + i]); > - } > + /* Read Tx power settings. */ > + if (sc->mac_ver =3D=3D 0x3593) > + run_rt3593_get_txpower(sc); > + else > + run_get_txpower(sc); >=20 > /* read Tx power compensation for each Tx rate */ > run_srom_read(sc, RT2860_EEPROM_DELTAPWR, &val); > @@ -1722,27 +1902,38 @@ run_read_eeprom(struct run_softc *sc) > sc->txpow40mhz_2ghz[ridx], = sc->txpow40mhz_5ghz[ridx]); > } >=20 > - /* read RSSI offsets and LNA gains from EEPROM */ > - run_srom_read(sc, RT2860_EEPROM_RSSI1_2GHZ, &val); > + /* Read RSSI offsets and LNA gains from EEPROM. */ > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_RSSI1_2GHZ : > + RT3593_EEPROM_RSSI1_2GHZ, &val); > sc->rssi_2ghz[0] =3D val & 0xff; /* Ant A */ > sc->rssi_2ghz[1] =3D val >> 8; /* Ant B */ > - run_srom_read(sc, RT2860_EEPROM_RSSI2_2GHZ, &val); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_RSSI2_2GHZ : > + RT3593_EEPROM_RSSI2_2GHZ, &val); > if (sc->mac_ver >=3D 0x3070) { > - /* > - * On RT3070 chips (limited to 2 Rx chains), this ROM > - * field contains the Tx mixer gain for the 2GHz band. > - */ > - if ((val & 0xff) !=3D 0xff) > - sc->txmixgain_2ghz =3D val & 0x7; > + if (sc->mac_ver =3D=3D 0x3593) { > + sc->txmixgain_2ghz =3D 0; > + sc->rssi_2ghz[2] =3D val & 0xff; /* Ant C = */ > + } else { > + /* > + * On RT3070 chips (limited to 2 Rx chains), = this ROM > + * field contains the Tx mixer gain for the 2GHz = band. > + */ > + if ((val & 0xff) !=3D 0xff) > + sc->txmixgain_2ghz =3D val & 0x7; > + } > DPRINTF("tx mixer gain=3D%u (2GHz)\n", = sc->txmixgain_2ghz); > } else > sc->rssi_2ghz[2] =3D val & 0xff; /* Ant C */ > + if (sc->mac_ver =3D=3D 0x3593) > + run_srom_read(sc, RT3593_EEPROM_LNA_5GHZ, &val); > sc->lna[2] =3D val >> 8; /* channel group 2 */ >=20 > - run_srom_read(sc, RT2860_EEPROM_RSSI1_5GHZ, &val); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_RSSI1_5GHZ : > + RT3593_EEPROM_RSSI1_5GHZ, &val); > sc->rssi_5ghz[0] =3D val & 0xff; /* Ant A */ > sc->rssi_5ghz[1] =3D val >> 8; /* Ant B */ > - run_srom_read(sc, RT2860_EEPROM_RSSI2_5GHZ, &val); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? = RT2860_EEPROM_RSSI2_5GHZ : > + RT3593_EEPROM_RSSI2_5GHZ, &val); > if (sc->mac_ver =3D=3D 0x3572) { > /* > * On RT3572 chips (limited to 2 Rx chains), this ROM > @@ -1753,9 +1944,14 @@ run_read_eeprom(struct run_softc *sc) > DPRINTF("tx mixer gain=3D%u (5GHz)\n", = sc->txmixgain_5ghz); > } else > sc->rssi_5ghz[2] =3D val & 0xff; /* Ant C */ > + if (sc->mac_ver =3D=3D 0x3593) { > + sc->txmixgain_5ghz =3D 0; > + run_srom_read(sc, RT3593_EEPROM_LNA_5GHZ, &val); > + } > sc->lna[3] =3D val >> 8; /* channel group 3 */ >=20 > - run_srom_read(sc, RT2860_EEPROM_LNA, &val); > + run_srom_read(sc, (sc->mac_ver !=3D 0x3593) ? RT2860_EEPROM_LNA = : > + RT3593_EEPROM_LNA, &val); > sc->lna[0] =3D val & 0xff; /* channel group 0 */ > sc->lna[1] =3D val >> 8; /* channel group 1 */ >=20 > @@ -2570,9 +2766,11 @@ run_rx_frame(struct run_softc *sc, struc >=20 > rxwi =3D mtod(m, struct rt2860_rxwi *); > len =3D le16toh(rxwi->len) & 0xfff; > - rxwisize =3D (sc->mac_ver =3D=3D 0x5592) ? > - sizeof(struct rt2860_rxwi) + sizeof(uint64_t) : > - sizeof(struct rt2860_rxwi); > + rxwisize =3D sizeof(struct rt2860_rxwi); > + if (sc->mac_ver =3D=3D 0x5592) > + rxwisize +=3D sizeof(uint64_t); > + else if (sc->mac_ver =3D=3D 0x3593) > + rxwisize +=3D sizeof(uint32_t); > if (__predict_false(len > dmalen)) { > m_freem(m); > ifp->if_ierrors++; > @@ -2683,9 +2881,11 @@ run_bulk_rx_callback(struct usb_xfer *xf > uint16_t rxwisize; > int xferlen; >=20 > - rxwisize =3D (sc->mac_ver =3D=3D 0x5592) ? > - sizeof(struct rt2860_rxwi) + sizeof(uint64_t) : > - sizeof(struct rt2860_rxwi); > + rxwisize =3D sizeof(struct rt2860_rxwi); > + if (sc->mac_ver =3D=3D 0x5592) > + rxwisize +=3D sizeof(uint64_t); > + else if (sc->mac_ver =3D=3D 0x3593) > + rxwisize +=3D sizeof(uint32_t); >=20 > usbd_xfer_status(xfer, &xferlen, NULL, NULL, NULL); >=20 > @@ -2869,10 +3069,10 @@ tr_setup: > STAILQ_REMOVE_HEAD(&pq->tx_qh, next); >=20 > m =3D data->m; > - size =3D (sc->mac_ver =3D=3D 0x5592) ?=20 > - RUN_MAX_TXSZ + sizeof(uint32_t) : RUN_MAX_TXSZ; > + size =3D (sc->mac_ver =3D=3D 0x5592) ? > + sizeof(data->desc) + sizeof(uint32_t) : = sizeof(data->desc); > if ((m->m_pkthdr.len + > - sizeof(data->desc) + 3 + 8) > size) { > + size + 3 + 8) > RUN_MAX_TXSZ) { > DPRINTF("data overflow, %u bytes\n", > m->m_pkthdr.len); >=20 > @@ -2884,8 +3084,6 @@ tr_setup: > } >=20 > pc =3D usbd_xfer_get_frame(xfer, 0); > - size =3D (sc->mac_ver =3D=3D 0x5592) ? > - sizeof(data->desc) + sizeof(uint32_t) : = sizeof(data->desc); > usbd_copy_in(pc, 0, &data->desc, size); > usbd_m_copy_in(pc, size, m, 0, m->m_pkthdr.len); > size +=3D m->m_pkthdr.len; > @@ -3599,6 +3797,107 @@ run_ioctl(struct ifnet *ifp, u_long cmd, > } >=20 > static void > +run_iq_calib(struct run_softc *sc, u_int chan) > +{ > + uint16_t val; > + > + /* Tx0 IQ gain. */ > + run_bbp_write(sc, 158, 0x2c); > + if (chan <=3D 14) > + run_efuse_read(sc, RT5390_EEPROM_IQ_GAIN_CAL_TX0_2GHZ, = &val, 1); > + else if (chan <=3D 64) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH36_TO_CH64_5GHZ, > + &val, 1); > + } else if (chan <=3D 138) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH100_TO_CH138_5GHZ, > + &val, 1); > + } else if (chan <=3D 165) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH140_TO_CH165_5GHZ, > + &val, 1); > + } else > + val =3D 0; > + run_bbp_write(sc, 159, val); > + > + /* Tx0 IQ phase. */ > + run_bbp_write(sc, 158, 0x2d); > + if (chan <=3D 14) { > + run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX0_2GHZ, > + &val, 1); > + } else if (chan <=3D 64) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH36_TO_CH64_5GHZ, > + &val, 1); > + } else if (chan <=3D 138) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH100_TO_CH138_5GHZ, > + &val, 1); > + } else if (chan <=3D 165) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH140_TO_CH165_5GHZ, > + &val, 1); > + } else > + val =3D 0; > + run_bbp_write(sc, 159, val); > + > + /* Tx1 IQ gain. */ > + run_bbp_write(sc, 158, 0x4a); > + if (chan <=3D 14) { > + run_efuse_read(sc, RT5390_EEPROM_IQ_GAIN_CAL_TX1_2GHZ, > + &val, 1); > + } else if (chan <=3D 64) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH36_TO_CH64_5GHZ, > + &val, 1); > + } else if (chan <=3D 138) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH100_TO_CH138_5GHZ, > + &val, 1); > + } else if (chan <=3D 165) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH140_TO_CH165_5GHZ, > + &val, 1); > + } else > + val =3D 0; > + run_bbp_write(sc, 159, val); > + > + /* Tx1 IQ phase. */ > + run_bbp_write(sc, 158, 0x4b); > + if (chan <=3D 14) { > + run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX1_2GHZ, > + &val, 1); > + } else if (chan <=3D 64) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH36_TO_CH64_5GHZ, > + &val, 1); > + } else if (chan <=3D 138) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH100_TO_CH138_5GHZ, > + &val, 1); > + } else if (chan <=3D 165) { > + run_efuse_read(sc, > + RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH140_TO_CH165_5GHZ, > + &val, 1); > + } else > + val =3D 0; > + run_bbp_write(sc, 159, val); > + > + /* RF IQ compensation control. */ > + run_bbp_write(sc, 158, 0x04); > + run_efuse_read(sc, RT5390_EEPROM_RF_IQ_COMPENSATION_CTL, > + &val, 1); > + run_bbp_write(sc, 159, val); > + > + /* RF IQ imbalance compensation control. */ > + run_bbp_write(sc, 158, 0x03); > + run_efuse_read(sc, > + RT5390_EEPROM_RF_IQ_IMBALANCE_COMPENSATION_CTL, &val, 1); > + run_bbp_write(sc, 159, val); > +} > + > +static void > run_set_agc(struct run_softc *sc, uint8_t agc) > { > uint8_t bbp; > @@ -3626,6 +3925,11 @@ run_select_chan_group(struct run_softc * > if (sc->mac_ver < 0x3572) > run_bbp_write(sc, 86, 0x00); >=20 > + if (sc->mac_ver =3D=3D 0x3593) { > + run_bbp_write(sc, 77, 0x98); > + run_bbp_write(sc, 83, (group =3D=3D 0) ? 0x8a : 0x9a); > + } > + > if (group =3D=3D 0) { > if (sc->ext_2ghz_lna) { > if (sc->mac_ver >=3D 0x5390) > @@ -3656,7 +3960,8 @@ run_select_chan_group(struct run_softc * > } else if (sc->mac_ver >=3D 0x5390) > run_bbp_write(sc, 75, 0x50); > else { > - run_bbp_write(sc, 82, 0x84); > + run_bbp_write(sc, 82, > + (sc->mac_ver =3D=3D 0x3593) ? 0x62 : = 0x84); > run_bbp_write(sc, 75, 0x50); > } > } > @@ -3682,7 +3987,8 @@ run_select_chan_group(struct run_softc * > } else if (sc->mac_ver =3D=3D 0x3572) > run_bbp_write(sc, 82, 0x94); > else > - run_bbp_write(sc, 82, 0xf2); > + run_bbp_write(sc, 82, > + (sc->mac_ver =3D=3D 0x3593) ? 0x82 : 0xf2); > if (sc->ext_5ghz_lna) > run_bbp_write(sc, 75, 0x46); > else=20 > @@ -3696,12 +4002,18 @@ run_select_chan_group(struct run_softc * >=20 > *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** --=20 /"\ Best regards, | remko@FreeBSD.org \ / Remko Lodder | remko@EFnet X http://www.evilcoder.org/ | / \ ASCII Ribbon Campaign | Against HTML Mail and News --Apple-Mail=_24859574-6FB0-4CB4-AA44-F3209D12DD57 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iQIcBAEBAgAGBQJS/2fYAAoJEKjD27JZ84ywadsP/1hG2jw8oIRDppgwoMOB88Ik 3aR9WBVWfaizrwyokyu1IGI9WQIDvyy3CpgSChZLbCxmkPRJ862KIGPa7s7oIh5x yAUDlt0hMCRj0/5xucE61+h4uYnFMaWqTzlze4m/hP010XXCajkc7Ce4IN50awst y1IPNxThMWg32cLT5dTY2ZB6h7ecUIO5B55baf4Nfen7crf0uUPaGtsHCR7BY9/J U9X/YWavcrC8ycf1gvNgo5Ph4DucI2kJk0fPnl3gUidBrTdGyN20QKHlEIMSTA1h JA5HBCzkj/SwJU4HYN8e+MyIAGQLvJmYdobh3SIXPkKXTrwIg1cbz8gyGSuxkwHA KLIXZO4UBiux/Qv+ETpc3snE6Hk/6i5MxWnwydw9MaZ08dM+Ng/YAf6qnTlkIqIF vWnqQFw+t8m124IqeCNzu0G8PqolF1VmYdwJpZeLheYF5wR7MumUNnLiNcH6uXyw nCU1i27+kqKdTOGTfTpChfKFLwXZ90uq10bZJjW/59o/fU096bqRO0lDVKBMnOyM 6y9j0gYR6mFGIC0HSOHk+LEu877AgYkCja246CJ/ygLz3kAExgsJ7UkhINkLt0Lq 8/fJg1Cc4nybCmFInEtGFY/o3NNov8f9a2rYRNF4Ocy1/J0+usqBVHFUJ4cSwCy4 zs0sJuKgULcPwMQ3tMvw =Qh57 -----END PGP SIGNATURE----- --Apple-Mail=_24859574-6FB0-4CB4-AA44-F3209D12DD57--