From owner-freebsd-current@FreeBSD.ORG Mon Oct 6 02:32:22 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 63F07359 for ; Mon, 6 Oct 2014 02:32:22 +0000 (UTC) Received: from mail-pd0-x235.google.com (mail-pd0-x235.google.com [IPv6:2607:f8b0:400e:c02::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 34A9DCC9 for ; Mon, 6 Oct 2014 02:32:22 +0000 (UTC) Received: by mail-pd0-f181.google.com with SMTP id z10so2537115pdj.12 for ; Sun, 05 Oct 2014 19:32:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:date:to:cc:subject:message-id:reply-to:references:mime-version :content-type:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=Ycgmpn3KQRk7LiHjYH79WmBQGFF5nPUxn2fPBeBhVBc=; b=Quh3Dq3Bu/06to66DBHG7t1Yi9EBzRigfqM3C0KqBMSTyQEvQXLZBvroOJ+kJ5Qoap xd4oOkWCE4iJojGBA3c0XGUNG5M4orBJkilIMU7m3sL2osMGLDb0SUzRB1uu7xkS/07/ faslVsw0rbyVcqhLWaruhLuIh3vQDaJ7PpSAx3InrEs6faIv7iMqiKdBmU9tMkDlF52T vKogcTS8HzHMYWuOpT63xWwdMGmCL3Me3i84Qkum4mXhGXbxAR33mbO4+A1FbnQVSgyI bZbD84S3RMIOQ68s7/JpC0GCiQh76YG0CRsYo8k77PuOj3nfZ8mchDxvqDeRa5yicBSk xV+Q== X-Received: by 10.70.36.138 with SMTP id q10mr15582674pdj.88.1412562741834; Sun, 05 Oct 2014 19:32:21 -0700 (PDT) Received: from pyunyh@gmail.com ([106.247.248.2]) by mx.google.com with ESMTPSA id ix8sm12038841pac.32.2014.10.05.19.32.18 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Sun, 05 Oct 2014 19:32:20 -0700 (PDT) From: Yonghyeon PYUN X-Google-Original-From: "Yonghyeon PYUN" Received: by pyunyh@gmail.com (sSMTP sendmail emulation); Mon, 06 Oct 2014 11:32:13 +0900 Date: Mon, 6 Oct 2014 11:32:13 +0900 To: Dariusz Wierzbicki Subject: Re: [CFT] alc(4) QAC AR816x/AR817x ethernet controller support Message-ID: <20141006023213.GC3131@michelle.fasterthan.com> Reply-To: pyunyh@gmail.com References: <20140930015741.GA2451@michelle.fasterthan.com> <20141001013637.GD2632@michelle.fasterthan.com> <20141002050730.GA964@michelle.fasterthan.com> <20141003212946.1499d68f@dw.org.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20141003212946.1499d68f@dw.org.pl> User-Agent: Mutt/1.4.2.3i Cc: freebsd-current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Oct 2014 02:32:22 -0000 On Fri, Oct 03, 2014 at 09:29:46PM +0200, Dariusz Wierzbicki wrote: > Dnia 2014-10-02, o godz. 14:07:30 > Yonghyeon PYUN napisaƂ(a): > > > On Wed, Oct 01, 2014 at 10:36:37AM +0900, Yonghyeon PYUN wrote: > > > On Tue, Sep 30, 2014 at 10:57:41AM +0900, Yonghyeon PYUN wrote: > > > > Hi, > > > > I've added support for QAC AR816x/AR817x ethernet controllers. It > > > > passed my limited testing and I need more testers. You can find > > > > patches from the following URLs. > > > > > > > > http://people.freebsd.org/~yongari/alc/pci.quirk.diff > > > > and > > > > http://people.freebsd.org/~yongari/alc/alc.diff.20140930 > > > > > > > > pci.qurik.diff is to workaround silicon bug of AR816x. Without it > > > > MSI/MSIX interrupt wouldn't work. If you just want to use > > > > legacy INTx interrupt you don't have to apply it but you have to > > > > tell alc(4) not to use MSI/MSIX interrupt with tunables( > > > > hw.alc.msi.disable and hw.alc.msix_disable). > > > > > > > > alc.diff.20140930 will add support for AR8161/AR8162/AR8171/AR8172 > > > > and E2200 controllers. It supports all hardware features except > > > > RSS. If you have any QAC AR816x/AR817x or old AR813x/AR815x > > > > controllers please test and report how the diff works for you. > > > > Thanks. > > > > > > http://people.freebsd.org/~yongari/alc/pci.quirk.diff > > > http://people.freebsd.org/~yongari/alc/alc.diff.20141001 > > > > > > Patch updated to address link establishment issue. > > > > http://people.freebsd.org/~yongari/alc/alc.diff.20141002 > > Patch updated again to correct wrong lock assertion. > > Hi ! > > Thanks for your work ! > > Are your patches only for current ? I tried on 10 stable. > No, it should be applied to stable/10 as well. I intentionally didn't include additional diff for MAC statistics which will not work on stable/10 and stable/9 due to if_inc_counter changes made in HEAD. I tried to apply the diff again against stable/10 and it succeeded with minor fuzz and offset differences. > > My system: > > dw@dw:~ % uname -a > FreeBSD dw 10.1-RC1 FreeBSD 10.1-RC1 #1 r272477M: Fri Oct 3 20:48:05 > CEST 2014 dw@dw:/usr/obj/usr/src/sys/DW amd64 > [...] > I applied that part manually. Compiled and rebooted system. > > > dmesg | grep alc : > > alc0: could not disable Rx/Tx MAC(0x4000cb20)! > alc0: reset timeout(0x4000cb20)! > alc0: could not disable Rx/Tx MAC(0x4000cb20)! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I'm more worried about MAC reset and master reset timeout shown below. The MAC reset timeout makes me wonder how this can happen since driver just checks bit 0 and bit 1, the low nibble of the register value can't be 0. > alc0: link state changed to UP > alc0: could not disable Rx/Tx MAC(0x4000cb20)! > alc0: port 0xd000-0xd07f mem > 0xf7200000-0xf723ffff irq 18 at device 0.0 on pci3 > alc0: reset timeout(0x4000cd00)! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I think this also can't happen since driver checks bit[0-3], the low byte should be non-zero when the timeout triggers. > alc0: 11776 Tx FIFO, 12032 Rx FIFO > miibus0: on alc0 > alc0: Ethernet address: 74:d4:35:91:32:04 [...] > > If you need other data or more testing, let me know. > Do you have any local changes in alc(4)? As I said, the diff could be applied to stable/10 without any manual modification. Thanks for testing!