From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E4A3FA034E for ; Fri, 8 May 2020 09:21:01 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CA8FF1DB70; Fri, 8 May 2020 09:21:01 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 5D48E1D97E; Fri, 8 May 2020 09:20:58 +0200 (CEST) IronPort-SDR: lSu34GN4vufXv92FQWr0Blatnr+oJShXhcTRrawV2kuZtg4OBnLDc/b6TR50MU7WiTqwxaqWrj dhoOYkPhQf4w== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2020 00:20:56 -0700 IronPort-SDR: DnxdvyCSCVCu8nj17xEZim4QF8ZGkVV+9l2q9lvVA2h9wS4tc7/kj8oOGxzkQRZAHrgyUp4gxB 3D7LcGdk/ETA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,366,1583222400"; d="scan'208";a="278863408" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 08 May 2020 00:20:54 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 8 May 2020 00:20:55 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 8 May 2020 00:20:55 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 8 May 2020 00:20:55 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 8 May 2020 00:20:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SEFKtF3YW/eeYavOXYmxPDcCF/x9wqH3gOtCSfIh8Ztk9C2SrU0/YpF1DEe1bFGkrHWU+8ZSO0yJZsrw6XIk3avmP5iS0Yi2K8eGuWSU4uty7+FmDzCSaFzz25csylWik4pizCYWPl/OKbiaq+J2qBcTnlqySFmQwcrFZ4LM55hRHKUjjGoxgymomGKfoD/yul0n0Ia/MqUxqJJU45MjnNks7ykKcKUJUP+o3Xc9feAWw5J7mdZGFdxhfshi4Ef8TVdsgTdn/uvynppATRQmWb/E3Ec6wNVsGhwag5wBSNVWKS+KSYVfXSDA+utz+Kvhgz8zGFTAWXATVTu7rOPtKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wEwV4yHGldocKhcPo0yuF4XBNbFGBW6EQlHNQJNP85o=; b=bEnTpQq0Ar8QxcUGMlXhmM9mshyEJMGUufxz+WTgwfMxBxJuAXFTTNHBojh1FTdy35SaxCZmy/rj0ygp3J3+VB06T20ljKKQk0OESTlVWX5jmrwlCjBTRSFTirMzEp5fY1fWbpvKWysAcMQ5DIiwmBSv3P94u1f3rNwivZ0XgFZrieF7RcrfxeShw7ZtOqQz6ebrcXWjLaqOAPU8KHrkXD0vUPEkcjHUTAj9HFHxBtPof0PYqyFhGUHoUvrgDxKAlV5rAL78GlfH9j+T4sRKE0OvDthdM9pWxmZQQRXlq2PPKwuXWrTDIRf5AouZHSFxLTrIB9ehs8soBG8UA7NlUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wEwV4yHGldocKhcPo0yuF4XBNbFGBW6EQlHNQJNP85o=; b=oWxZzihrcanWl9Vyk0LltRDDn9wF36HrgqL8sWGb8gg7WqNiCHFpq+F2er9yJWQtLm4x8Eg9TbwSBNR3x8daGI3gK2mh9VVOWuP5ME2LDCsklSy999vz60+518ZGM2wPWm6wGyb7OmlOtFZ5a2di8pnTRAuWMbV9jrTFQaXPNDk= Received: from MN2PR11MB3582.namprd11.prod.outlook.com (2603:10b6:208:ec::28) by MN2PR11MB3981.namprd11.prod.outlook.com (2603:10b6:208:13d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Fri, 8 May 2020 07:20:48 +0000 Received: from MN2PR11MB3582.namprd11.prod.outlook.com ([fe80::e1c5:b5cf:5a94:379f]) by MN2PR11MB3582.namprd11.prod.outlook.com ([fe80::e1c5:b5cf:5a94:379f%3]) with mapi id 15.20.2958.030; Fri, 8 May 2020 07:20:48 +0000 From: "Yang, Qiming" To: "Wang, ShougangX" , "dev@dpdk.org" CC: "stable@dpdk.org" Thread-Topic: [PATCH] net/ice: fix incorrect EEPROM data Thread-Index: AQHWJQhsmc99WRLeCEGAcJBFWIAcaKidx8+w Date: Fri, 8 May 2020 07:20:48 +0000 Message-ID: References: <20200508071340.75836-1-shougangx.wang@intel.com> In-Reply-To: <20200508071340.75836-1-shougangx.wang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ec68d2c2-e643-4051-e596-08d7f32054d2 x-ms-traffictypediagnostic: MN2PR11MB3981: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:308; x-forefront-prvs: 039735BC4E x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YPMT3jEG6FSYzFHHGISl3w8bY1ySAZB4RJ/ce+Zq9ooDqXySKCl8zVgH7n2EK16oV97FVHoYQDD5cGbQ7/7c6/Vj4FYfbIypbYxjD+wnm1YJps/XHggemkgr6e2KStPI+9rEERWUQhceW/V9wxT4Uhs9t9a+43XPaz4b41U/Ly1qa7aKJN9NxVfm9Ll4exY8Qs8gWHCpqDyrJT6FFQ9bTdrC7aeFTFtfYokHpBD7FsLfvSS7ai12YouE/RlFRWhNGYWIvpKWE09SqNH+lAzI8EWUfk7ItZDPPPkEQ7FdOnv8MwNSyB9ydDWOwP+COpRsSDQ0ZHfNMjBiiKRKLnWOPvP7ynk68hJ4IIQhf3igKBSrcsJ3Fc+1aRigG22fnj95a3P5iLo9tqSPlImdjquIAUBphtCc2uI74c2CZyQU1wyrylsR+2uyFv/q7WIl8TisBL1AFfJPnDTdWekcHMUbuX+KCgj1CWWszKvzBDad++KhC3pMzip3/Guqo2wFxB2pOeGbbsWLSCoStCcu+kLe1w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB3582.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(136003)(366004)(396003)(376002)(39860400002)(346002)(33430700001)(478600001)(4326008)(86362001)(8676002)(450100002)(8936002)(33440700001)(33656002)(5660300002)(66556008)(83320400001)(83290400001)(71200400001)(52536014)(64756008)(66446008)(76116006)(66946007)(83310400001)(2906002)(66476007)(83300400001)(83280400001)(186003)(6506007)(7696005)(55016002)(26005)(9686003)(53546011)(110136005)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: i6hGEfLUuO52HsvR/95MLOtttqaiafRUGug2vLft3KfYXmPaq2+kPMkQTu65Xo6FxZbmI9EnC1/xhwdSSu/eLsPBJAmPEeo2Tj3jq9uax/P9uKZ63u8/l9x3bjFcjcYFZGTzG4+3jlLnfjLO1KVTxfMYreEnA5lrVsMndmjlcsJ6kqsN1bNgQQkCw9NmH61evan75dDRJFElXuKa0aYzmT2YkMiVOkIoTiDs3Vk2VjgWUBYqohRzdDXg8+r+0mONQOpijbYfTNOep0vRUCMgiAG/8xaUkZg4acFwK6nJHE5sqaxOBYjcgtiH5kz0OrZxtD7x50Pumyj/b+wgkGjZ9g2kcjunySV2U5csIY7aoEobkLxccxWmNsTOYX0Sfqtmhg6aKPZckDDZ04Vh6dMAA67uS0ul8G4c5R2SkRYjk5ecv+nNBuWt2ECPkrU7/l5ev5Hk88lPjudQJGeF64WIsxBiAsG6mdsdxe6Z4ZGjTBfhPuv5Bi55o8qnIaIn+9lN Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: ec68d2c2-e643-4051-e596-08d7f32054d2 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 May 2020 07:20:48.1486 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WVMimldeJGBDexqG6MrSCykOCTr90S/N6zi+FqXLPYhrHF20GBi2QqXE36XnbYpZmB/aZ1IfWYx+wB2f1kiYvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3981 X-OriginatorOrg: intel.com Subject: Re: [dpdk-stable] [PATCH] net/ice: fix incorrect EEPROM data X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, Shougang We can't change share code except formal share code update. I'll Nack it. Qiming > -----Original Message----- > From: Wang, ShougangX > Sent: Friday, May 8, 2020 15:14 > To: dev@dpdk.org > Cc: Yang, Qiming ; Wang, ShougangX > ; stable@dpdk.org > Subject: [PATCH] net/ice: fix incorrect EEPROM data >=20 > Kernel driver reads EEPROM data from flash but DPDK reads from shadow > ram. This patch fixes the issue by changing method to get EEPROM data fro= m > flash. >=20 > Fixes: 68a1ab82ad74 ("net/ice: speed up to retrieve EEPROM") > Cc: stable@dpdk.org >=20 > Signed-off-by: Shougang Wang > --- > drivers/net/ice/base/ice_nvm.c | 4 ++-- drivers/net/ice/base/ice_nvm.h= | > 3 +++ > drivers/net/ice/ice_ethdev.c | 26 +++++++++++--------------- > 3 files changed, 16 insertions(+), 17 deletions(-) >=20 > diff --git a/drivers/net/ice/base/ice_nvm.c > b/drivers/net/ice/base/ice_nvm.c index 1bbd6e209..a5f9f8fe6 100644 > --- a/drivers/net/ice/base/ice_nvm.c > +++ b/drivers/net/ice/base/ice_nvm.c > @@ -186,7 +186,7 @@ ice_read_sr_buf_aq(struct ice_hw *hw, u16 offset, > u16 *words, u16 *data) > * > * This function will request NVM ownership. > */ > -static enum ice_status > +enum ice_status > ice_acquire_nvm(struct ice_hw *hw, enum ice_aq_res_access_type access) > { > ice_debug(hw, ICE_DBG_TRACE, "%s\n", __func__); @@ -203,7 > +203,7 @@ ice_acquire_nvm(struct ice_hw *hw, enum > ice_aq_res_access_type access) > * > * This function will release NVM ownership. > */ > -static void ice_release_nvm(struct ice_hw *hw) > +void ice_release_nvm(struct ice_hw *hw) > { > ice_debug(hw, ICE_DBG_TRACE, "%s\n", __func__); >=20 > diff --git a/drivers/net/ice/base/ice_nvm.h > b/drivers/net/ice/base/ice_nvm.h index e5f8888e3..075e7a59f 100644 > --- a/drivers/net/ice/base/ice_nvm.h > +++ b/drivers/net/ice/base/ice_nvm.h > @@ -85,6 +85,9 @@ enum ice_status > ice_handle_nvm_access(struct ice_hw *hw, struct ice_nvm_access_cmd > *cmd, > union ice_nvm_access_data *data); enum ice_status > +ice_acquire_nvm(struct ice_hw *hw, enum ice_aq_res_access_type > access); > +void ice_release_nvm(struct ice_hw *hw); enum ice_status > ice_read_flat_nvm(struct ice_hw *hw, u32 offset, u32 *length, u8 *data, > bool read_shadow_ram); > enum ice_status > diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c > index d5110c439..3d8118e37 100644 > --- a/drivers/net/ice/ice_ethdev.c > +++ b/drivers/net/ice/ice_ethdev.c > @@ -3951,8 +3951,7 @@ ice_get_eeprom_length(struct rte_eth_dev *dev) > { > struct ice_hw *hw =3D ICE_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); >=20 > - /* Convert word count to byte count */ > - return hw->nvm.sr_words << 1; > + return hw->nvm.flash_size; > } >=20 > static int > @@ -3960,26 +3959,23 @@ ice_get_eeprom(struct rte_eth_dev *dev, > struct rte_dev_eeprom_info *eeprom) { > struct ice_hw *hw =3D ICE_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > - uint16_t *data =3D eeprom->data; > - uint16_t first_word, last_word, nwords; > + uint8_t *data =3D eeprom->data; > enum ice_status status =3D ICE_SUCCESS; > + eeprom->magic =3D hw->vendor_id | (hw->device_id << 16); >=20 > - first_word =3D eeprom->offset >> 1; > - last_word =3D (eeprom->offset + eeprom->length - 1) >> 1; > - nwords =3D last_word - first_word + 1; > - > - if (first_word >=3D hw->nvm.sr_words || > - last_word >=3D hw->nvm.sr_words) { > - PMD_DRV_LOG(ERR, "Requested EEPROM bytes out of > range."); > - return -EINVAL; > + status =3D ice_acquire_nvm(hw, ICE_RES_READ); > + if (status) { > + PMD_DRV_LOG(ERR, "acquire nvm failed."); > + return -EIO; > } >=20 > - eeprom->magic =3D hw->vendor_id | (hw->device_id << 16); > + status =3D ice_read_flat_nvm(hw, eeprom->offset, &eeprom->length, > + data, false); > + > + ice_release_nvm(hw); >=20 > - status =3D ice_read_sr_buf(hw, first_word, &nwords, data); > if (status) { > PMD_DRV_LOG(ERR, "EEPROM read failed."); > - eeprom->length =3D sizeof(uint16_t) * nwords; > return -EIO; > } >=20 > -- > 2.17.1