From owner-svn-src-stable-8@FreeBSD.ORG Thu Aug 5 20:39:53 2010 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F26831065678; Thu, 5 Aug 2010 20:39:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C5E3D8FC18; Thu, 5 Aug 2010 20:39:52 +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 o75KdqK8099841; Thu, 5 Aug 2010 20:39:52 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o75KdqAs099839; Thu, 5 Aug 2010 20:39:52 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201008052039.o75KdqAs099839@svn.freebsd.org> From: John Baldwin Date: Thu, 5 Aug 2010 20:39:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r210894 - stable/8/sys/dev/cxgb X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2010 20:39:53 -0000 Author: jhb Date: Thu Aug 5 20:39:52 2010 New Revision: 210894 URL: http://svn.freebsd.org/changeset/base/210894 Log: MFC 210505: - Change the warning about PCI-e links narrower than x8 to only apply to 10G cards. 1G cards are x4 only. - Use constants from pcireg.h for reading the current link width. - Use pci_set_max_read_req() rather than implementing it by hand. Modified: stable/8/sys/dev/cxgb/cxgb_main.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cam/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/cxgb/cxgb_main.c ============================================================================== --- stable/8/sys/dev/cxgb/cxgb_main.c Thu Aug 5 20:02:59 2010 (r210893) +++ stable/8/sys/dev/cxgb/cxgb_main.c Thu Aug 5 20:39:52 2010 (r210894) @@ -454,20 +454,18 @@ cxgb_controller_attach(device_t dev) /* find the PCIe link width and set max read request to 4KB*/ if (pci_find_extcap(dev, PCIY_EXPRESS, ®) == 0) { - uint16_t lnk, pectl; - lnk = pci_read_config(dev, reg + 0x12, 2); - sc->link_width = (lnk >> 4) & 0x3f; - - pectl = pci_read_config(dev, reg + 0x8, 2); - pectl = (pectl & ~0x7000) | (5 << 12); - pci_write_config(dev, reg + 0x8, pectl, 2); - } + uint16_t lnk; + + lnk = pci_read_config(dev, reg + PCIR_EXPRESS_LINK_STA, 2); + sc->link_width = (lnk & PCIM_LINK_STA_WIDTH) >> 4; + if (sc->link_width < 8 && + (ai->caps & SUPPORTED_10000baseT_Full)) { + device_printf(sc->dev, + "PCIe x%d Link, expect reduced performance\n", + sc->link_width); + } - if (sc->link_width != 0 && sc->link_width <= 4 && - (ai->nports0 + ai->nports1) <= 2) { - device_printf(sc->dev, - "PCIe x%d Link, expect reduced performance\n", - sc->link_width); + pci_set_max_read_req(dev, 4096); } touch_bars(dev);