From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 62CF61BBE for ; Tue, 7 Mar 2017 18:00:40 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Mar 2017 09:00:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,258,1486454400"; d="scan'208";a="233320201" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.254.44.106]) ([10.254.44.106]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2017 09:00:37 -0800 To: Hemant Agrawal , dev@dpdk.org References: <1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com> <1488545223-25739-1-git-send-email-hemant.agrawal@nxp.com> Cc: thomas.monjalon@6wind.com, bruce.richardson@intel.com, shreyansh.jain@nxp.com, john.mcnamara@intel.com, jerin.jacob@caviumnetworks.com, Jan Blunck From: Ferruh Yigit Message-ID: <9426c6ce-e2aa-0596-771e-e79b0c091f5d@intel.com> Date: Tue, 7 Mar 2017 17:00:36 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <1488545223-25739-1-git-send-email-hemant.agrawal@nxp.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCHv8 00/46] NXP DPAA2 PMD 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: , X-List-Received-Date: Tue, 07 Mar 2017 17:00:41 -0000 On 3/3/2017 12:46 PM, Hemant Agrawal wrote: > The patch series adds NXP’s QorIQ-Layerscape DPAA2 Architecture based > fsl-mc bus driver and network SoC PMD. This version of the driver > supports NXP LS208xA, LS204xA and LS108x families Network SoCs. > > DPAA2, or Data Path Acceleration Architecture, is a hardware architecture > designed for high-speed network packet processing. It uses a bus name > ‘fsl-mc’, part of Linux Kernel Staging tree [1], for resource management. > > A brief description of architecture is given below; detailed description > is part of the documentation in the patches itself. > > DPAA2 contains hardware component called the Management Complex (or MC). > It manages the DPAA2 hardware resources. The MC provides an object-based > abstraction for software drivers to use the DPAA2 hardware. > > Some of the key objects are: > - DPNI, which refers to the network interface object. > - DPBP, which refers to HW based memory pool object > - DPIO, refers to processing context for accessing QBMAN > > Besides the MC, DPAA2 also includes a Hardware based Queue and Buffer Manager > called QBMAN. Prime responsibility of QBMAN is to allow lockless access to > software/user-space to the queues and buffers implemented in the hardware. > > The patch series could be logically structured into following sub-areas: > 1. Make file changes for crc in armv8 core machine type and driver dependency > 2. Indroducing fsl-mc bus as rte_bus, it's componenets. > 3. Introducing dpaa2 pmd driver > 4. Introducing dpaa2 mempool > 5. Support for DPAA2 Ethernet Device (ethdev) > 6. Additional functionality in DPAA2 ethdev. > > The following design decisions are made during development: > > 1. DPAA2 implements a new bus called "fsl-mc" and some common accelerator drivers. > These drivers will be shared with dpaa2 based crypto drivers. > > 2. DPAA2 implements the HW mempool offload with DPBP object. > - The new pool is being configured using compile time option and pool name > as "dpaa2". > > 3. It maintains per lcore DPIO objects and affine the DPIO instance to the > processing threads accessing the QBMAN HW. > > Prerequisites: > - For running the PMD, NXP's SoC (board) is required. > Information about obtaining relevant software is available in the docs > as part of the patch. > > Future Changes/Caveats: > > 1. VFIO code for fsl-mc bus is different than eal-vfio code for pci bus. > This need to be re-worked to make possible re-use of the existing code. > > > References: > [1] https://www.kernel.org/doc/readme/drivers-staging-fsl-mc-README.txt > > --- > v8: > * rebased over master (17.02: 35b09d76) > * Removed all drivers/common/* code and moved to drivers/bus/fslmc > * Updated documentation to remove non-open source dependency > * Reduced shared symbols in map files > > v7: > * rebased over master (17.02) > * fix the shared lib compilation > * re partitiion the patches as per Ferruh comments. > * handling Ferruh's comment for NXP dpaa2 driver > > v6: > * rebased over master (61207d0) > * removing DPAA2_COMMON as configurable option > * renaming drivers bus, pool libraries removing 'pmd' > * Headers of Licenses > * exposed variable renaming with *rte_* prefix > * handling Ferruh's comment for NXP dpaa2 driver > * moving around MAINTAINER and DOC file patches > > v5: > * rebased over master (6818a7f4) > > v4: > * rebased over master (1feda4d8) and patches from Shreyansh [1] for Bus Arch. > > v3: > * rebased over master (eac901ce2) and patches from Shreyansh [1] for Bus Arch. > * Fixed comment from John on Patch-0003 for documentation > * Removed Patch-0001 for rte_device in rte_eth_dev; Already upstreamed through > another series > > v2: > * separated the "fsl-mc" bus from the dpaa2 pmd driver - introduced drivers/bus > * separated the "dpaa2" hw mempool from dpaa2 pmd driver - introduced drivers/pool > * removed documentation warnings and missing information. > * removed arm64 part specific code from driver > * changed rte_panic to errors > * reduced checkpatch warnings > > > Hemant Agrawal (45): > mk/dpaa2: add the crc support to the machine type > bus/fslmc: introducing fsl-mc bus driver > bus/fslmc: add QBMAN driver to bus > bus/fslmc: introduce MC object functions > bus/fslmc: add mc dpio object support > bus/fslmc: add mc dpbp object support > eal/vfio: adding vfio utility functions in map file > bus/fslmc: add vfio support > bus/fslmc: scan for net and sec device > net/dpaa2: introducing NXP DPAA2 PMD driver > doc: add DPAA2 NIC details > bus/fslmc: add debug log support > net/dpaa2: add debug log support > config: enable support for DPAA2 debug logging > net/dpaa2: add mc dpni object support > bus/fslmc: dpio portal driver > bus/fslmc: introduce support for hw mempool object > pool/dpaa2: add DPAA2 hardware offloaded mempool > bus/fslmc: affine dpio to crypto threads > bus/fslmc: define queues for DPAA2 devices > net/dpaa2: adding eth ops to dpaa2 > net/dpaa2: add RSS flow distribution > net/dpaa2: configure MAC address at init > bus/fslmc: define hardware annotation area size > net/dpaa2: attach the buffer pool to dpni > bus/fslmc: introduce true and false macros > net/dpaa2: add support for L3 and L4 checksum offload > net/dpaa2: add support for promiscuous mode > bus/fslmc: define VLAN header length > net/dpaa2: add MTU configuration support > bus/fslmc: add packet FLE definitions > net/dpaa2: enable packet Rx and Tx operations > net/dpaa2: support for Rx packet parsing and packet type > net/dpaa2: link status update > net/dpaa2: basic stats support > net/dpaa2: enable stashing for LS2088A devices > net/dpaa2: handle non-hardware backed buffer pool > bus/fslmc: add physical-virtual address translation helpers > pool/dpaa2: enable physical addressing for pool buffers > net/dpaa2: enable physical addressing for packet buffers > config: add configuration for toggling physical addressing > bus/fslmc: add support for DMA mapping for ARM SMMU > net/dpaa2: enable DMA Mapping during device scanning > bus/fslmc: frame queue based dq storage alloc > net/dpaa2: enable frame queue based dequeuing > > Shreyansh Jain (1): > mk: handle intra drivers dependencies for shared build Hi Hemant, Did you able to find a chance to check Jan Blunck's eth_driver [1] patchset. I remember in previous versions of this patchset there was a eth_driver update too. Perhaps dpaa2 can benefit from those updates? Thanks, ferruh [1] http://dpdk.org/ml/archives/dev/2017-March/059376.html