From owner-svn-src-head@FreeBSD.ORG Fri May 14 22:00:38 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FE991065673; Fri, 14 May 2010 22:00:38 +0000 (UTC) (envelope-from jfv@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 66FCB8FC08; Fri, 14 May 2010 22:00:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4EM0c9a082425; Fri, 14 May 2010 22:00:38 GMT (envelope-from jfv@svn.freebsd.org) Received: (from jfv@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4EM0c1U082423; Fri, 14 May 2010 22:00:38 GMT (envelope-from jfv@svn.freebsd.org) Message-Id: <201005142200.o4EM0c1U082423@svn.freebsd.org> From: Jack F Vogel Date: Fri, 14 May 2010 22:00:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r208102 - head/sys/dev/ixgbe X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 May 2010 22:00:38 -0000 Author: jfv Date: Fri May 14 22:00:37 2010 New Revision: 208102 URL: http://svn.freebsd.org/changeset/base/208102 Log: A few minor fixes: - add a moderation value to the Link vector - allow disabling HW RSC on the 82599 if LRO is not enabled. - correct error in the stats code - change optic type on the 82598 DA device Thanks to Andrew Boyer for the changes. Modified: head/sys/dev/ixgbe/ixgbe.c Modified: head/sys/dev/ixgbe/ixgbe.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe.c Fri May 14 21:27:39 2010 (r208101) +++ head/sys/dev/ixgbe/ixgbe.c Fri May 14 22:00:37 2010 (r208102) @@ -46,7 +46,7 @@ int ixgbe_display_debug_stat /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "2.1.7"; +char ixgbe_driver_version[] = "2.1.8"; /********************************************************************* * PCI Device ID Table @@ -412,7 +412,6 @@ ixgbe_attach(device_t dev) break; case IXGBE_DEV_ID_82598 : case IXGBE_DEV_ID_82598AF_DUAL_PORT : - case IXGBE_DEV_ID_82598_DA_DUAL_PORT : case IXGBE_DEV_ID_82598AF_SINGLE_PORT : case IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM : case IXGBE_DEV_ID_82598EB_SFP_LOM : @@ -425,6 +424,9 @@ ixgbe_attach(device_t dev) case IXGBE_DEV_ID_82598EB_XF_LR : adapter->optics = IFM_10G_LR; break; + case IXGBE_DEV_ID_82598_DA_DUAL_PORT : + adapter->optics = IFM_10G_TWINAX; + break; case IXGBE_DEV_ID_82599_SFP : adapter->optics = IFM_10G_SR; ixgbe_num_segs = IXGBE_82599_SCATTER; @@ -1158,6 +1160,9 @@ ixgbe_init_locked(struct adapter *adapte } } + /* Set moderation on the Link interrupt */ + IXGBE_WRITE_REG(hw, IXGBE_EITR(adapter->linkvec), IXGBE_LINK_ITR); + /* Config/Enable Link */ ixgbe_config_link(adapter); @@ -3638,13 +3643,11 @@ ixgbe_setup_receive_ring(struct rx_ring /* ** Now set up the LRO interface: ** 82598 uses software LRO, the - ** 82599 additionally uses a - ** hardware assist. - ** - ** Disable RSC when RXCSUM is off + ** 82599 uses a hardware assist. */ if ((adapter->hw.mac.type == ixgbe_mac_82599EB) && - (ifp->if_capenable & IFCAP_RXCSUM)) + (ifp->if_capenable & IFCAP_RXCSUM) && + (ifp->if_capenable & IFCAP_LRO)) ixgbe_setup_hw_rsc(rxr); else if (ifp->if_capenable & IFCAP_LRO) { int err = tcp_lro_init(lro); @@ -4661,7 +4664,7 @@ ixgbe_update_stats_counters(struct adapt adapter->stats.lxoffrxc += IXGBE_READ_REG(hw, IXGBE_LXOFFRXC); /* 82598 only has a counter in the high register */ adapter->stats.gorc += IXGBE_READ_REG(hw, IXGBE_GORCH); - adapter->stats.gorc += IXGBE_READ_REG(hw, IXGBE_GOTCH); + adapter->stats.gotc += IXGBE_READ_REG(hw, IXGBE_GOTCH); adapter->stats.tor += IXGBE_READ_REG(hw, IXGBE_TORH); }