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 86187A0526; Thu, 9 Jul 2020 10:59:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5C40B1DEE0; Thu, 9 Jul 2020 10:59:27 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 23DB81DED4; Thu, 9 Jul 2020 10:59:24 +0200 (CEST) IronPort-SDR: cx2VOtGB2otq/BHzb/vF39sSoR4dCXsjp73I3lG/VzBp/9V+WFaxAETg7gv+Nj9ZOMxZ+m+LPA nmjrxdbZC8qw== X-IronPort-AV: E=McAfee;i="6000,8403,9676"; a="145453852" X-IronPort-AV: E=Sophos;i="5.75,331,1589266800"; d="scan'208";a="145453852" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jul 2020 01:59:24 -0700 IronPort-SDR: za8NESIHO7ejKid9gtQWzxrV4T3ZFcqj5QPHgcuohDHo97LdKPxScC0Gb4wvToEjC2mrnCZ1Qk A6GzKKtO7i/Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,331,1589266800"; d="scan'208";a="284082281" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga006.jf.intel.com with ESMTP; 09 Jul 2020 01:59:23 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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; Thu, 9 Jul 2020 01:59:23 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 9 Jul 2020 01:59:23 -0700 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (104.47.38.50) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 9 Jul 2020 01:59:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W2wfgDCNryVhOjW3BMpnFlUuOy2hMJZvTZwyPy2XJHx59SVeuIUUMMP7oEMBXsgxebean1WT2nanCMRrgXBwGEAcAfhz1O+2E/erN3odr03tV8nxFejhOZPvfBHC1k8ree5tn60RrtZ1EI53ENJnuxDLLcx233e91lz25MZwH/o4Oj6xNjnXRaHc7ClLXtfxPw23BWw1L+DsWPRsyhNQAkQDU/7fvtChH7hPWyQoOUwEKCG5XggzMCCbeD0Wb0F9aJz7H2lHcKHQaP07K1sr42xsQHx10XuE8U+k4JvqGnxiGrFOnwtrjCFI/oUSi27khqTGNZxvKX8qVMOMbbQwEw== 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=AirdsQv7w4j9HYkV4FLMyb8ihFmkAUDGgj/mEQWeyYM=; b=Y55PyVtwAx7nbspBb/g9PHOHNM1D72WMGnrjQYS6b8SgKZLCqVZ8IQAnhaU8+vODCdLkFTj3KcH1yHdF6CSZm6ETY4zpeq7R0kZ7kdCKsXNv6p1HAC/ycT7Q/qeIXzog0hGZFHWzxj00K8ma3R9e+UQp1/a8BqQNnhtUoxpugj7pOHqH7VL28uYgMedruT0SeA3lP0ICWIsbV5nV2pkHr3dMvn9ZhrIcvs3wn1Z99/2/m5R0LnFDtaxheByiCNBn9Qsj+eEw+uBz+XZMiXb1jxfMnxmY2AHCP8sXcF1cZ1xhfhxkZOgfyqC++FL6p2Wtw6uT1DVH48qNA2b9RU7v9A== 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=AirdsQv7w4j9HYkV4FLMyb8ihFmkAUDGgj/mEQWeyYM=; b=JO4ZbYHUWRIcvnkeYz98/F0rZllKrfBxqynfPkkCbRBJ++atnlgQqiiwi22Uc1wi/X3zYNOtFmswGDGXipinvR60c9Z2DuGG5gIDUpbSuwtEpBxgePtPYeN9k93Yzi4zjUJDJoRSZiDl3VUmr61O5xc0WMhX8+6J3JptFkKnH34= Received: from BYAPR11MB3477.namprd11.prod.outlook.com (2603:10b6:a03:7c::28) by BYAPR11MB2952.namprd11.prod.outlook.com (2603:10b6:a03:82::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.21; Thu, 9 Jul 2020 08:59:21 +0000 Received: from BYAPR11MB3477.namprd11.prod.outlook.com ([fe80::11b9:abd9:39e0:f26a]) by BYAPR11MB3477.namprd11.prod.outlook.com ([fe80::11b9:abd9:39e0:f26a%3]) with mapi id 15.20.3174.022; Thu, 9 Jul 2020 08:59:21 +0000 From: "Zhang, Tianfei" To: "dev@dpdk.org" , "Xu, Rosen" CC: "stable@dpdk.org" Thread-Topic: [PATCH v1 2/2] raw/ifpga/base: fix NIOS SPI initial Thread-Index: AQHWVc2QMS+F+U1Ib0+ym+PpHmwqb6j+8mrA Date: Thu, 9 Jul 2020 08:59:21 +0000 Message-ID: References: <20200709163603.8798-1-tianfei.zhang@intel.com> In-Reply-To: <20200709163603.8798-1-tianfei.zhang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action authentication-results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ad0ee686-b3f5-494b-55d7-08d823e65ef5 x-ms-traffictypediagnostic: BYAPR11MB2952: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3513; x-forefront-prvs: 04599F3534 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: syKHAuDde1XSSJLHoxGudARYg+XpTzOz9w7CuDUP53yspPCihUKDnI55WzofW27LYTcvOnMsZFGPSXRV5tq9k1lKQkXAj7QByRCV4iVqprdJ/1LHw3LvIknjDXK0AKJd7T/lRwOBXKu5G7WWqYodEmvMxey0JcrrC8pu/gCm3f7sRw6G5Q9QUAVEf89gfZC0v8xiL/3Y+j8/mMlKspqLMaDzMX7WPrC9N6+BimBp+J2z07M+5tqb2/+2+HJvl/MANUinSeOTGrtkfIJOczVDlHrXYBdbFQnCITK9A+gxblzh+eGMQGkD7DfPfMb3sq04lich3q+OFsvxuR/1I2h22w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3477.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(396003)(346002)(376002)(366004)(136003)(478600001)(83380400001)(316002)(110136005)(8936002)(7696005)(66476007)(86362001)(52536014)(8676002)(450100002)(33656002)(2906002)(71200400001)(6506007)(5660300002)(4326008)(53546011)(9686003)(186003)(55016002)(66946007)(6636002)(76116006)(64756008)(66446008)(66556008)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: UVZvkI7KZB6qBnd31ltAGU0sBDajmIYI4PjSNCrWQsl10lKsoHBOowe4K7vnS/li1ONkoVY0ECUrSZgdpVHDz6rxoWwWAJU39MJQpcrZUkNPtQtP+jj5FHqSyTTQzo3XiWY8LnmP5WnS/gT6eQcEO8HRg1nKSmcH9P79yKvKyjIVjxVz809+JSigyTVGj1isvBnqmSQATWpj4ITT9WEp2BgWV+lUQo29Zuh8dutWADAb2C0DhmmSnH9nUkhQLZkWsPJKoBE37kyvQyJPxjwmIe041gr66t8h31FUqHFTLcIB9XHStc/ghqhOni5TAbbvvdQwbalLnuIZ/uzQgrYuh1PSlsQHAXCOi9f9TF62wQAc0ZKV//poIqZaN3ZOV9XuXtWjh2cHp3cu1d3t8ORicd9qHZeQX/a+qvLVIxwOXPK6rpzUfrBWCWynBuf2urJMstBY/cAa35B/ytlMiNjtGEsg0GhMQOBldjAy0p/doQkx/l5jO2XYerPWICZUbc/B Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3477.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad0ee686-b3f5-494b-55d7-08d823e65ef5 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2020 08:59:21.3203 (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: XrA7pCfYgivhLxs9DucmKNKSJJ0F0scRUuIBkhFjaqhXc1JmMPcl1FvVw9cmJPiC4WoejboXg07ukMn5b69luw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2952 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1 2/2] raw/ifpga/base: fix NIOS SPI initial X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The message include "master", it suggested that replace by " primary ", I w= ill send the V2. -----Original Message----- From: Zhang, Tianfei =20 Sent: Friday, July 10, 2020 12:36 AM To: dev@dpdk.org; Xu, Rosen Cc: Zhang, Tianfei ; stable@dpdk.org Subject: [PATCH v1 2/2] raw/ifpga/base: fix NIOS SPI initial From: Tianfei Zhang Add fecmode setting on NIOS SPI master initialization. this SPI is shared by NIOS core inside FPGA, NIOS will use this SPI master = to do some one time initialization after power up, and then release the con= trol to DPDK. Fix the timeout initialization for polling the NIOS_INIT_DONE. Fixes: bc44402f ("raw/ifpga/base: configure FEC mode") Cc: stable@dpdk.org Signed-off-by: Tianfei Zhang --- drivers/raw/ifpga/base/ifpga_fme.c | 27 ++++++++++++++++++++------- drive= rs/raw/ifpga/base/opae_spi.h | 1 + 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/drivers/raw/ifpga/base/ifpga_fme.c b/drivers/raw/ifpga/base/if= pga_fme.c index c31a94cf8..9057087b5 100644 --- a/drivers/raw/ifpga/base/ifpga_fme.c +++ b/drivers/raw/ifpga/base/ifpga_fme.c @@ -979,28 +979,32 @@ struct ifpga_feature_ops fme_spi_master_ops =3D { st= atic int nios_spi_wait_init_done(struct altera_spi_device *dev) { u32 val =3D 0; - unsigned long timeout =3D msecs_to_timer_cycles(10000); + unsigned long timeout =3D rte_get_timer_cycles() + + msecs_to_timer_cycles(10000); unsigned long ticks; int major_version; + int fecmode =3D FEC_MODE_NO; =20 if (spi_reg_read(dev, NIOS_VERSION, &val)) return -EIO; =20 - major_version =3D (val >> NIOS_VERSION_MAJOR_SHIFT) & - NIOS_VERSION_MAJOR; - dev_debug(dev, "A10 NIOS FW version %d\n", major_version); + major_version =3D + (val & NIOS_VERSION_MAJOR) >> NIOS_VERSION_MAJOR_SHIFT; + dev_info(dev, "A10 NIOS FW version %d\n", major_version); =20 if (major_version >=3D 3) { /* read NIOS_INIT to check if PKVL INIT done or not */ if (spi_reg_read(dev, NIOS_INIT, &val)) return -EIO; =20 + dev_debug(dev, "read NIOS_INIT: 0x%x\n", val); + /* check if PKVLs are initialized already */ if (val & NIOS_INIT_DONE || val & NIOS_INIT_START) goto nios_init_done; =20 /* start to config the default FEC mode */ - val =3D NIOS_INIT_START; + val =3D fecmode | NIOS_INIT_START; =20 if (spi_reg_write(dev, NIOS_INIT, val)) return -EIO; @@ -1010,14 +1014,23 @@ static int nios_spi_wait_init_done(struct altera_sp= i_device *dev) do { if (spi_reg_read(dev, NIOS_INIT, &val)) return -EIO; - if (val) + if (val & NIOS_INIT_DONE) break; =20 ticks =3D rte_get_timer_cycles(); if (time_after(ticks, timeout)) return -ETIMEDOUT; msleep(100); - } while (!val); + } while (1); + + /* get the fecmode */ + if (spi_reg_read(dev, NIOS_INIT, &val)) + return -EIO; + dev_debug(dev, "read NIOS_INIT: 0x%x\n", val); + fecmode =3D (val & REQ_FEC_MODE) >> REQ_FEC_MODE_SHIFT; + dev_info(dev, "fecmode: 0x%x, %s\n", fecmode, + (fecmode =3D=3D FEC_MODE_KR) ? "kr" : + ((fecmode =3D=3D FEC_MODE_RS) ? "rs" : "no")); =20 return 0; } diff --git a/drivers/raw/ifpga/base/opae_spi.h b/drivers/raw/ifpga/base/opa= e_spi.h index d20a4c3ed..73a227673 100644 --- a/drivers/raw/ifpga/base/opae_spi.h +++ b/drivers/raw/ifpga/base/opae_spi.h @@ -153,6 +153,7 @@ int spi_reg_read(struct altera_spi_device *dev, u32 reg= , u32 *val); =20 #define NIOS_INIT 0x1000 #define REQ_FEC_MODE GENMASK(23, 8) +#define REQ_FEC_MODE_SHIFT 8 #define FEC_MODE_NO 0x0 #define FEC_MODE_KR 0x5555 #define FEC_MODE_RS 0xaaaa -- 2.17.1