> -----Original Message-----
> From: Ferruh Yigit <ferruh.yi...@intel.com>
> Sent: Tuesday, October 5, 2021 2:59 PM
> To: Apeksha Gupta <apeksha.gu...@nxp.com>;
> david.march...@redhat.com; andrew.rybche...@oktetlabs.ru
> Cc: dev@dpdk.org; Sachin Saxena <sachin.sax...@nxp.com>; Hemant
> Agrawal <hemant.agra...@nxp.com>
> Subject: Re: [EXT] Re: [dpdk-dev] [PATCH v3 1/5] net/enetfec: introduce NXP
> ENETFEC driver
> 
> Caution: EXT Email
> 
> On 10/5/2021 6:24 AM, Apeksha Gupta wrote:
> >
> >
> >> -----Original Message-----
> >> From: Ferruh Yigit <ferruh.yi...@intel.com>
> >> Sent: Friday, October 1, 2021 8:15 PM
> >> To: Apeksha Gupta <apeksha.gu...@nxp.com>;
> >> david.march...@redhat.com; andrew.rybche...@oktetlabs.ru
> >> Cc: dev@dpdk.org; Sachin Saxena <sachin.sax...@nxp.com>; Hemant
> >> Agrawal <hemant.agra...@nxp.com>
> >> Subject: Re: [EXT] Re: [dpdk-dev] [PATCH v3 1/5] net/enetfec: introduce
> NXP
> >> ENETFEC driver
> >>
> >> Caution: EXT Email
> >>
> >> On 10/1/2021 11:22 AM, Apeksha Gupta wrote:
> >>>> -----Original Message-----
> >>>> From: Ferruh Yigit <ferruh.yi...@intel.com>
> >>>> Sent: Thursday, September 23, 2021 3:40 PM
> >>>> To: Apeksha Gupta <apeksha.gu...@nxp.com>;
> >>>> david.march...@redhat.com; andrew.rybche...@oktetlabs.ru;
> >>>> ferruh.yi...@intel.com
> >>>> Cc: dev@dpdk.org; Sachin Saxena <sachin.sax...@nxp.com>; Hemant
> >>>> Agrawal <hemant.agra...@nxp.com>
> >>>> 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 <sachin.sax...@nxp.com>
> >>>>> Signed-off-by: Apeksha Gupta <apeksha.gu...@nxp.com>
> >>>>
> >>>> <...>
> >>>>
> >>>>> +++ b/doc/guides/nics/enetfec.rst
> >>>>> @@ -0,0 +1,122 @@
> >>>>> +.. SPDX-License-Identifier: BSD-3-Clause
> >>>>> +   Copyright 2021 NXP
> >>>>> +
> >>>>> +ENETFEC Poll Mode Driver
> >>>>> +========================
> >>>>> +
> >>>>> +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
> >>>>>
> >>>>
> >>
> +<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fw
> >>>> 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&amp;data=04%7C01%7Capeksha.gupta%40nxp.com
> >>>> %7C74fdc59c47574d828f7608d97e7a4df3%7C686ea1d3bc2b4c6fa92cd99
> c5
> >> c30
> >>>>
> >>
> 1635%7C0%7C1%7C637679886024819097%7CUnknown%7CTWFpbGZsb3d8ey
> >>>>
> >>
> JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> >>>>
> >>
> 7C3000&amp;sdata=TjuqIfC8yXwBa3DLCgA7djItfV0UmZ6lA3uLDQ7TFwY%3D
> >>>> &amp;reserved=0>
> >>>>> +
> >>>>> +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 on the
> >>>> Ethernet interface.
> >>> [Apeksha] Okay.
> >>>>
> >>>>> +The diagram below shows a system level overview of ENETFEC:
> >>>>> +
> >>>>> +
> >>>>
> >>
> ====================================================+=====
> >>>> ==========
> >>>>> +   US   +-----------------------------------------+    | Kernel Space
> >>>>> +     |                                         |    |
> >>>>> +     |               ENETFEC Driver            |    |
> >>>>> +     +-----------------------------------------+    |
> >>>>> +                       ^   |                        |
> >>>>> +   ENETFEC         RXQ |   | TXQ                    |
> >>>>> +   PMD                         |   |                        |
> >>>>> +                       |   v                        |   +----------+
> >>>>> +                  +-------------+                   |   | fec-uio  |
> >>>>> +                  | net_enetfec |                   |   +----------+
> >>>>> +                  +-------------+                   |
> >>>>> +                       ^   |                        |
> >>>>> +                   TXQ |   | RXQ                    |
> >>>>> +                       |   |                        |
> >>>>> +                       |   v                        |
> >>>>> +
> >>>>
> >>
> ===================================================+======
> >>>> =========
> >>>>> +      +----------------------------------------+
> >>>>> +      |                                        |       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 driver,
> >>>> 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 the 
> >>>> 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 handles 
> >>>> 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.
> >
> 
> In that case, should each bus other than the PCI bus have UIO framework in
> 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 support 
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 
definitely can be explored.

Reply via email to