From owner-svn-src-head@freebsd.org Thu Mar 22 04:42:30 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D8D2F677C4; Thu, 22 Mar 2018 04:42:30 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E34397DA1F; Thu, 22 Mar 2018 04:42:29 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DE2AA4D96; Thu, 22 Mar 2018 04:42:29 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2M4gTOD021155; Thu, 22 Mar 2018 04:42:29 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2M4gTDM021154; Thu, 22 Mar 2018 04:42:29 GMT (envelope-from np@FreeBSD.org) Message-Id: <201803220442.w2M4gTDM021154@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 22 Mar 2018 04:42:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r331342 - head/sys/dev/cxgbe/common X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/common X-SVN-Commit-Revision: 331342 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 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: Thu, 22 Mar 2018 04:42:30 -0000 Author: np Date: Thu Mar 22 04:42:29 2018 New Revision: 331342 URL: https://svnweb.freebsd.org/changeset/base/331342 Log: cxgbe(4): Do not read MFG diags information from custom boards. MFC after: 1 week Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/common/t4_hw.c Modified: head/sys/dev/cxgbe/common/t4_hw.c ============================================================================== --- head/sys/dev/cxgbe/common/t4_hw.c Thu Mar 22 04:16:14 2018 (r331341) +++ head/sys/dev/cxgbe/common/t4_hw.c Thu Mar 22 04:42:29 2018 (r331342) @@ -2960,7 +2960,7 @@ static int get_vpd_keyword_val(const u8 *vpd, const ch * Reads card parameters stored in VPD EEPROM. */ static int get_vpd_params(struct adapter *adapter, struct vpd_params *p, - u32 *buf) + uint16_t device_id, u32 *buf) { int i, ret, addr; int ec, sn, pn, na, md; @@ -3028,12 +3028,16 @@ static int get_vpd_params(struct adapter *adapter, str memcpy(p->na, vpd + na, min(i, MACADDR_LEN)); strstrip((char *)p->na); + if (device_id & 0x80) + return 0; /* Custom card */ + md = get_vpd_keyword_val(vpd, "VF", 1); if (md < 0) { snprintf(p->md, sizeof(p->md), "unknown"); } else { i = vpd[md - VPD_INFO_FLD_HDR_SIZE + 2]; memcpy(p->md, vpd + md, min(i, MD_LEN)); + strstrip((char *)p->md); } return 0; @@ -8053,10 +8057,6 @@ int t4_prep_adapter(struct adapter *adapter, u32 *buf) if (ret < 0) return ret; - ret = get_vpd_params(adapter, &adapter->params.vpd, buf); - if (ret < 0) - return ret; - /* Cards with real ASICs have the chipid in the PCIe device id */ t4_os_pci_read_cfg2(adapter, PCI_DEVICE_ID, &device_id); if (device_id >> 12 == chip_id(adapter)) @@ -8066,6 +8066,10 @@ int t4_prep_adapter(struct adapter *adapter, u32 *buf) adapter->params.fpga = 1; adapter->params.cim_la_size = 2 * CIMLA_SIZE; } + + ret = get_vpd_params(adapter, &adapter->params.vpd, device_id, buf); + if (ret < 0) + return ret; init_cong_ctrl(adapter->params.a_wnd, adapter->params.b_wnd);