From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E040CA0C41; Wed, 6 Oct 2021 11:36:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9BFA14111C; Wed, 6 Oct 2021 11:36:51 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80071.outbound.protection.outlook.com [40.107.8.71]) by mails.dpdk.org (Postfix) with ESMTP id 5F57A4111B for ; Wed, 6 Oct 2021 11:36:50 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eEOuEF3Gqjx4SwG674AAHTP/+kMxoaNnd3QQ1tRzKKirDbnp4eN/vG0wwzLu7dBXtENC8gginC4QL7ESzsbb3yPEJU1AXpyZmRLtB+6C+CxLPJanxdbcytHrIc77oBdHT00nu9mdMn0m6NcNisalV1ORdL/8aFtmym+j+GnInhoa8IRUr+ZqqphDIVZclPwyRY9j+9L2WB8HaL7rxnWlDMMex99BKrDbUL+qBcUwpMRV/KAfiuVrBIjfapQjyjoe2LTzxIpGm2CG8uvjhUBvd4++hKbslqqSblnNkTZ/lxLP8y0ZDRAay4VI7jLNfRIm2z/4v7jkMydyqrtpJCZ1sA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nHtxPx0I3694ltgCJbXAJf12olU5SBWa7Cz2rKxSLD4=; b=YWLj5QQfBbD256vZMSOQIptjpF0n8CjE7h49cGxF/EDWRoP/glzM/GazawNcn+XrPVy3tRRUx1oGIoUvkDRem3p/gRhWFtjS7YvhFiaiOH4Wafb7u7lfbNn4bvPObLkc+cYwDlEcQRcCRooSLI0fHwnZGUIMaBcwxatOcqotvnr0BxSdm2AfTDlxpZ6vb1O8+qprQ8aYwYh09Ud4m+/kiHIpX2imzph4OVKC6ujJ8FTq8bIci//dVvQ62KK5NVMaMrgjR47hHB1iaIqpY8C8d531V/zl4JWlMtEnLbXLwHS3qA6kRaCRJWo1sDtGT05IL3D1SAI1BatNOsAp+2v6PQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nHtxPx0I3694ltgCJbXAJf12olU5SBWa7Cz2rKxSLD4=; b=Ol0R02lumPLvwWTYVNlBw7yZC8dsv1a21kLbG70NWjCqNxN+rBi7IRoWfEK8pYqfm+u6PyJOq7NtJvxNU7zrMbUZ3Yy1oOAUl5ZEiITFm9NYBAemA/AqPBCxV7wyHQXJ+MM9xZ5eAFMTiI4L9KmoEOXl26BDHOCv3bHf60G2awI= Received: from VI1PR04MB6816.eurprd04.prod.outlook.com (2603:10a6:803:12d::18) by VI1PR04MB4894.eurprd04.prod.outlook.com (2603:10a6:803:52::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19; Wed, 6 Oct 2021 09:36:49 +0000 Received: from VI1PR04MB6816.eurprd04.prod.outlook.com ([fe80::19a4:1404:5f97:ff4d]) by VI1PR04MB6816.eurprd04.prod.outlook.com ([fe80::19a4:1404:5f97:ff4d%8]) with mapi id 15.20.4587.018; Wed, 6 Oct 2021 09:36:49 +0000 From: Apeksha Gupta To: Ferruh Yigit , "david.marchand@redhat.com" , "andrew.rybchenko@oktetlabs.ru" CC: "dev@dpdk.org" , Sachin Saxena , Hemant Agrawal Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v3 1/5] net/enetfec: introduce NXP ENETFEC driver Thread-Index: AQHXpbtgnSeLbkrXsUOYWqvWGsyylauxetKAgAyQ4VCAAE7DgIAFq27QgABFiICAAZKB0A== Date: Wed, 6 Oct 2021 09:36:49 +0000 Message-ID: References: <20210909204314.1826-1-apeksha.gupta@nxp.com> <20210909204314.1826-2-apeksha.gupta@nxp.com> <79132cab-be22-b16e-882a-124b728781ac@intel.com> In-Reply-To: <79132cab-be22-b16e-882a-124b728781ac@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=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4e0053d1-753e-4262-e974-08d988acd249 x-ms-traffictypediagnostic: VI1PR04MB4894: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6ojGnYHleCN+tsSIQiVuMTCcBm7MIeX7/m7p9JW4skkwUC3G2Bdb4Xy44tgfYVIl8FQx/vA80CyUi6HlUVETdlWIY/eGNnJIIJ7xjJYTvsoEClIrU38H43fnw6AB5lnUpC7JjaS25FbRueUFii5TptioAr8a0cpopt7+sGI7PdGugPjmciKOXxfVPEqYADPYHywsAG5J5kOqx4tQMEVREZRXwisiI8mBVtMy2PW/qf/VbPhO288lHAD+VWJA6bnk8RMRt4tIjE+7eLaFz2VrmVWdotpFmh94tsH+K2sUbHGox88RazGhVugTDVe40if+y029fcKhY5m6Neq4W2KcMO3SM0bTdQcAWkUZqPxnYHD+KlUuCuxfZZL0KcF+/dQv+NGj/0IjXr3nfD3B8k/zAXH4iCrRpfEENS22NKjiHrbNGGhOQC5/bozMeS5aiBSnR7+RlZE5BZX48k18sgz9LQu6o88NLivvljo4GJYTKd69qCxEW95njVvhDah+RuJIW5nqhUM/3SS81jVjlycNYVRw3xtQxztVOvOJjAEb8t23l+IqZa2clKe9cRY6kO2UqFbdd3YUtW1I+4oINMcwYildzrRz/n3GVZTjFh6vt8w/3cdiznDk40lc+m9J5dUI3mF8jh7bC3zATDStcJAgBqTmv+CTwnm9b9zdU6a7Yudd6yN5h5M1hFBakxDJAcdnqJm95d3uvd/gBlbSS0AeHZvez4R0/kdMO/hJaE4nPbgcdV3UNTrDnWxSFyommwF5xhkEf1rAbEzvLbIw58wqH5RCu754DIbks+D/Gd1Bl6U= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB6816.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66446008)(26005)(44832011)(8936002)(122000001)(38070700005)(76116006)(66946007)(66556008)(2906002)(64756008)(38100700002)(186003)(8676002)(66476007)(86362001)(54906003)(110136005)(83380400001)(71200400001)(4326008)(5660300002)(508600001)(6506007)(53546011)(9686003)(55016002)(316002)(33656002)(7696005)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?wsy66eWWQ7mMFdRGDRFzI0CkrBD3tzGiLsJIBFRcqkN+4ELFXWpzsM8WYQsZ?= =?us-ascii?Q?iN2ViKURRptUhJj1hhFPHD0RvSi1JACQEjfllUHBeARkmWnZwjurlJ6+IxGW?= =?us-ascii?Q?Ph7mTDHZdSdNUQH6humUKIgjgnyMyh1VpNNgxV8Ir6UDOLP/f09dsvW9PyIF?= =?us-ascii?Q?fVthyY8CvV8lKrl4oc0AUeDwkxup+2uwI/8yT9db7qLrOG66ly+ijT/6899M?= =?us-ascii?Q?MT0k6UAs2h2K62YKjX8O+xIl6+ugNZ9InOTrgCZj6lnbBlY8tT1lk/aSivn8?= =?us-ascii?Q?FUwygfNQ+4O3Uy1VpVO+BNkcIHoDqAOccdnuT4boNRzUw1g6smY+Bk7FarXP?= =?us-ascii?Q?G1ZPzje4vcwLiiGVPg/zSzSLLg3+Toor+UQvwU/aR2jEaA6y7SKLZC9tljTZ?= =?us-ascii?Q?DeDLiVc0zO3Nf6v7baUjVHY4hX1vj3gFBAiEBWuwVYEicatmF+Zx1Y4AZCsA?= =?us-ascii?Q?sVZWOry1i3UeyMLfxRRkcAjeE33xSLToO74kVxyF99wM9wvg5rPdiMCZlj3v?= =?us-ascii?Q?tFqjN8dpFsQnJb5azjlgQGAI9fIpynkLdlvLITmsha2oIPBYO4mTL/FRv3UA?= =?us-ascii?Q?gzO92EBuXosT3rX4I5tzDZKETA1FMZ5Or+ORd4mzkLnC0Qn3vs9+XaNLHfDN?= =?us-ascii?Q?eJNpv9s8a31aCrugu0EPpge5mKEJVZErwR5NxK0xAcjHTZpRY4VDrvGd+40o?= =?us-ascii?Q?PLtXg6XTlAgC1YkN8cTYVyP6AWkFlaEjNR4LCNt1KeiRNASZWCgLCzcZZjT4?= =?us-ascii?Q?ApztlV/UrFFQeH5xN7jEMO2L6echCLTvyfT0HxrAuJVwm4bgwPzF+1UmhbQZ?= =?us-ascii?Q?NMs6jPg4tUQMXXL2wLK3YNR7w1mucND3zQfVhdFeKaby7PwHUKNwc31UZu5R?= =?us-ascii?Q?AkWhu8d8NhdqvnQYpV6dk2Y4JKNa/0qbCMvdnKGOJ+gU0ZgRMJl+9m550xRa?= =?us-ascii?Q?S8WpRRnvHC/K9ffeNlsbuZdWRWlhZlHdNn520LkGFAN/S8esal/WfVG1WDHG?= =?us-ascii?Q?9+Ae8+a7QFQqbAMpDezRe3bxS90ObxIcXW8vsf5gkkODobxLwkyL32S8hH3T?= =?us-ascii?Q?yeHVtU+ByLHgVObqszXQVSmIQHLMPls4mhIqX1limeYBd6YHa8uCE0UL8NXY?= =?us-ascii?Q?oVcNBTOlfy6OF4sSoVbC011rUcVjrYhaje4HsL1uUJTWLuCQq1SDMCMpPOjn?= =?us-ascii?Q?Xq1U7uL49M+j/lBJLtdnpFS3oB/bFy83qjKSEm9bKOtzFGHM2NgrqHHpa4RT?= =?us-ascii?Q?JtiWWLJwNaqyzxdHNn2G/0lqjCuXaYep1aJBtJ0QFVRcvDrCQRH9cemjK19X?= =?us-ascii?Q?wS0=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB6816.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e0053d1-753e-4262-e974-08d988acd249 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 09:36:49.2252 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: o4qCtUXufkxOBht3Pih3fC+/h2vdAHsRW/1FZCkRYFe9DIU28S9PuzWEOi6nk0f2KoWAHQcNCuHqp9qP3lb0Gw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4894 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v3 1/5] net/enetfec: introduce NXP ENETFEC driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" > -----Original Message----- > From: Ferruh Yigit > Sent: Tuesday, October 5, 2021 2:59 PM > To: Apeksha Gupta ; > david.marchand@redhat.com; andrew.rybchenko@oktetlabs.ru > Cc: dev@dpdk.org; Sachin Saxena ; Hemant > Agrawal > Subject: Re: [EXT] Re: [dpdk-dev] [PATCH v3 1/5] net/enetfec: introduce N= XP > ENETFEC driver >=20 > Caution: EXT Email >=20 > On 10/5/2021 6:24 AM, Apeksha Gupta wrote: > > > > > >> -----Original Message----- > >> From: Ferruh Yigit > >> Sent: Friday, October 1, 2021 8:15 PM > >> To: Apeksha Gupta ; > >> david.marchand@redhat.com; andrew.rybchenko@oktetlabs.ru > >> Cc: dev@dpdk.org; Sachin Saxena ; Hemant > >> Agrawal > >> Subject: Re: [EXT] Re: [dpdk-dev] [PATCH v3 1/5] net/enetfec: introduc= e > NXP > >> ENETFEC driver > >> > >> Caution: EXT Email > >> > >> On 10/1/2021 11:22 AM, Apeksha Gupta wrote: > >>>> -----Original Message----- > >>>> From: Ferruh Yigit > >>>> Sent: Thursday, September 23, 2021 3:40 PM > >>>> To: Apeksha Gupta ; > >>>> david.marchand@redhat.com; andrew.rybchenko@oktetlabs.ru; > >>>> ferruh.yigit@intel.com > >>>> Cc: dev@dpdk.org; Sachin Saxena ; Hemant > >>>> Agrawal > >>>> Subject: [EXT] Re: [dpdk-dev] [PATCH v3 1/5] net/enetfec: introduce > NXP > >>>> ENETFEC driver > >>>> > >>>> Caution: EXT Email > >>>> > >>>> On 9/9/2021 9:43 PM, Apeksha Gupta wrote: > >>>>> ENETFEC (Fast Ethernet Controller) is a network poll mode driver > >>>>> for NXP SoC i.MX 8M Mini. > >>>>> > >>>> > >>>> Hi Apeksha, > >>>> > >>>> Before going into details, I have some high level comments to start = with, > >>>> please > >>>> find comments below. > >>>> > >>>>> This patch adds skeleton for enetfec driver with probe function. > >>>>> > >>>>> Signed-off-by: Sachin Saxena > >>>>> Signed-off-by: Apeksha Gupta > >>>> > >>>> <...> > >>>> > >>>>> +++ b/doc/guides/nics/enetfec.rst > >>>>> @@ -0,0 +1,122 @@ > >>>>> +.. SPDX-License-Identifier: BSD-3-Clause > >>>>> + Copyright 2021 NXP > >>>>> + > >>>>> +ENETFEC Poll Mode Driver > >>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D > >>>>> + > >>>>> +The ENETFEC NIC PMD (**librte_net_enetfec**) provides poll mode > >>>> driver > >>>>> +support for the inbuilt NIC found in the ** NXP i.MX 8M Mini** SoC= . > >>>>> + > >>>>> +More information can be found at NXP Official Website > >>>>> > >>>> > >> > + >>>> ww.nxp.com%2Fproducts%2Fprocessors-and-microcontrollers%2Farm- > >>>> processors%2Fi-mx-applications-processors%2Fi-mx-8-processors%2Fi- > >> mx- > >>>> 8m-mini-arm-cortex-a53-cortex-m4-audio-voice- > >>>> > >> > video%3Ai.MX8MMINI&data=3D04%7C01%7Capeksha.gupta%40nxp.com > >>>> %7C74fdc59c47574d828f7608d97e7a4df3%7C686ea1d3bc2b4c6fa92cd99 > c5 > >> c30 > >>>> > >> > 1635%7C0%7C1%7C637679886024819097%7CUnknown%7CTWFpbGZsb3d8ey > >>>> > >> > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D% > >>>> > >> > 7C3000&sdata=3DTjuqIfC8yXwBa3DLCgA7djItfV0UmZ6lA3uLDQ7TFwY%3D > >>>> &reserved=3D0> > >>>>> + > >>>>> +ENETFEC > >>>>> +------- > >>>>> + > >>>>> +This section provides an overview of the NXP ENETFEC and how it is > >>>>> +integrated into the DPDK. > >>>>> + > >>>>> +Contents summary > >>>>> + > >>>>> +- ENETFEC overview > >>>>> +- ENETFEC features > >>>>> +- Supported ENETFEC SoCs > >>>>> +- Prerequisites > >>>>> +- Driver compilation and testing > >>>>> +- Limitations > >>>>> + > >>>>> +ENETFEC Overview > >>>>> +~~~~~~~~~~~~~~~~ > >>>>> +The i.MX 8M Mini Media Applications Processor is built to achieve > both > >>>> high > >>>>> +performance and low power consumption. ENETFEC is a hardware > >>>> programmable > >>>>> +packet forwarding engine to provide high performance Ethernet > >> interface. > >>>> > >>>> It has 1Gbps interface, right? It can be good to give more details o= n the > >>>> Ethernet interface. > >>> [Apeksha] Okay. > >>>> > >>>>> +The diagram below shows a system level overview of ENETFEC: > >>>>> + > >>>>> + > >>>> > >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D+=3D=3D=3D=3D=3D > >>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >>>>> + US +-----------------------------------------+ | Kernel Sp= ace > >>>>> + | | | > >>>>> + | ENETFEC Driver | | > >>>>> + +-----------------------------------------+ | > >>>>> + ^ | | > >>>>> + ENETFEC RXQ | | TXQ | > >>>>> + PMD | | | > >>>>> + | v | +---------= -+ > >>>>> + +-------------+ | | fec-uio = | > >>>>> + | net_enetfec | | +---------= -+ > >>>>> + +-------------+ | > >>>>> + ^ | | > >>>>> + TXQ | | RXQ | > >>>>> + | | | > >>>>> + | v | > >>>>> + > >>>> > >> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D+=3D=3D=3D=3D=3D=3D > >>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D > >>>>> + +----------------------------------------+ > >>>>> + | | HW > >>>>> + | i.MX 8M MINI EVK | > >>>>> + | +-----+ | > >>>>> + | | MAC | | > >>>>> + +---------------+-----+------------------+ > >>>>> + | PHY | > >>>>> + +-----+ > >>>>> + > >>>>> +ENETFEC Ethernet driver is traditional DPDK PMD driver running in > the > >>>> userspace. > >>>>> +The MAC and PHY are the hardware blocks. 'fec-uio' is the UIO driv= er, > >>>> ENETFEC PMD > >>>>> +uses UIO interface to interact with kernel for PHY initialisation = and > for > >>>> mapping > >>>>> +the allocated memory of register & BD in kernel with DPDK which > gives > >>>> access to > >>>>> +non-cacheable memory for BD. > >>>> > >>>> Why a specific uio driver, 'fec-uio', is required? I think this is t= he major > >>>> issue to clarify to proceed. > >>>> > >>>> In DPDK we have full framework to support uio, to do the all memory > >>>> mapping, > >>>> interrupt configuration etc..., common to all drivers. > >>>> But in this case driver is implemented as virtual driver and it hand= les its > >> own > >>>> uoi handling itself. Why the driver can't use existing support and > >>>> implemented > >>>> as physical driver? > >>> [Apeksha] Yes you are correct. As per our knowledge, UIO framework is > >> there for VM & PCI bus devices and not for vdev bus devices. > >> > >> That is part of the comment, why driver implemented as vdev instead of > >> physical > >> device? > >> What is the actual device bus? > > [Apeksha] Actual bus is 'platform' bus which is not supported in DPDK. > > >=20 > In that case, should each bus other than the PCI bus have UIO framework i= n > their driver? > Can't we find a way to extend the uio support in the common code? [Apeksha] This can be explored if we can find a common UIO framework to sup= port devices across multiple buses. Currently that is not the case. In any case this can not be done in release time with enetfec driver but de= finitely can be explored.