From patchwork Fri Aug 24 14:54:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Duszynski X-Patchwork-Id: 43873 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 649D45F38; Fri, 24 Aug 2018 16:55:08 +0200 (CEST) Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) by dpdk.org (Postfix) with ESMTP id 523CC5F2B for ; Fri, 24 Aug 2018 16:55:05 +0200 (CEST) Received: by mail-lf1-f67.google.com with SMTP id c21-v6so6907758lfh.3 for ; Fri, 24 Aug 2018 07:55:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Rr8XQqSaj7UoEbdE2DpmaUy19I2laBmqxUZ2ot/DQ98=; b=ivREtC8tIL7VDTy/jJ+QSDntraImm6cgiFHcQk7XVgI5yY3xnJ0N62X7r1p0dYSHLP ZIni+Wb8kgFmql68mPfNVrNpYQPWYfKzSi+czt3SsXmmxu4yeewfBc33vAYboJWxLBx+ N1KElnEUszcztYltysv1B7Zpf08S1jtWOTa45JIRTeqkUJJXv5XChuBPSBxM+T50T/X0 SPXyi/hC65zNa+GqNjAGaNeTwT1kqc/17u2YVgEsCu0tOwfgsRRpk/tTOpE1NxVj5Q+t 8kCgpXkij6Caq7tA3mtxeecT6XLtLavhQb6fZKvxOSqbKP00bqy//o2cgjd/aRV5zFzZ P88Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Rr8XQqSaj7UoEbdE2DpmaUy19I2laBmqxUZ2ot/DQ98=; b=eHUZdVuDQgB+BTQRJZMph2B/lDFVUrWj+ShcKTyFZAUWrpPcAqxJfz02vPEZBnpb4u oVPTbLwxNwyqwBknsLdPxM4vj3bcixTs0sfHqZhmefQSrddBQPhRuV6iiycWRwaeZvud WvKaHEGxoptOC15ZdRK3VnL6HCmSJATSeGzZM9pDCV/kZk3K3DxXLteWDcmAKC1OFlJY p8v/8Q6I8x4LUG7XzdF8F70SOK8PeiP4JAm3F86IG/MW13iXIUBl9GwgRxs1qXsrtQON HdeoJcwiHYyFtMECxyadBrX+cIaY2DdS5hYReTRyiXaprWXdJ4crRx3dXNGNGyB8d9jQ Nj5g== X-Gm-Message-State: APzg51C+56JAg498IyJWAgWCwuW60Es54wJjvKpsfqgid+Oyj+NoWNcn vzOZ/hIiP0Gcp9M1/p6kV9Cq+amiI28= X-Google-Smtp-Source: ANB0VdaWidmZPQ/03Bew8onYux6Ovq+IueKEfqf/D++X0UGMb9F5++iyc5EFgnE9WaTHGo93YjNRYQ== X-Received: by 2002:a19:9710:: with SMTP id z16-v6mr1677431lfd.17.1535122504824; Fri, 24 Aug 2018 07:55:04 -0700 (PDT) Received: from sh.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id j140-v6sm1373659lfg.16.2018.08.24.07.55.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 24 Aug 2018 07:55:03 -0700 (PDT) From: Tomasz Duszynski To: dev@dpdk.org Cc: nsamsono@marvell.com, mw@semihalf.com, Liron Himi Date: Fri, 24 Aug 2018 16:54:50 +0200 Message-Id: <1535122494-30249-3-git-send-email-tdu@semihalf.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1535122494-30249-1-git-send-email-tdu@semihalf.com> References: <1535113006-9393-1-git-send-email-tdu@semihalf.com> <1535122494-30249-1-git-send-email-tdu@semihalf.com> Subject: [dpdk-dev] [PATCH v2 2/6] net/mvpp2: use common code to initialize DMA 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" From: Liron Himi Use common code to initialize MUSDK DMA memory buffers. Signed-off-by: Liron Himi Reviewed-by: Natalie Samsonov --- drivers/net/mvpp2/Makefile | 3 ++- drivers/net/mvpp2/meson.build | 2 +- drivers/net/mvpp2/mrvl_ethdev.c | 36 +++++++++++++----------------------- 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/drivers/net/mvpp2/Makefile b/drivers/net/mvpp2/Makefile index 492aef9..211d398 100644 --- a/drivers/net/mvpp2/Makefile +++ b/drivers/net/mvpp2/Makefile @@ -23,6 +23,7 @@ LIBABIVER := 1 EXPORT_MAP := rte_pmd_mvpp2_version.map # external library dependencies +CFLAGS += -I$(RTE_SDK)/drivers/common/mvep CFLAGS += -I$(LIBMUSDK_PATH)/include CFLAGS += -DMVCONF_TYPES_PUBLIC CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC @@ -32,7 +33,7 @@ LDLIBS += -L$(LIBMUSDK_PATH)/lib LDLIBS += -lmusdk LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_cfgfile -LDLIBS += -lrte_bus_vdev +LDLIBS += -lrte_bus_vdev -lrte_common_mvep # library source files SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_ethdev.c diff --git a/drivers/net/mvpp2/meson.build b/drivers/net/mvpp2/meson.build index e139889..3620659 100644 --- a/drivers/net/mvpp2/meson.build +++ b/drivers/net/mvpp2/meson.build @@ -22,4 +22,4 @@ sources = files( 'mrvl_qos.c' ) -deps += ['cfgfile'] +deps += ['cfgfile', 'common_mvep'] diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c index a2d0576..7ea8946 100644 --- a/drivers/net/mvpp2/mrvl_ethdev.c +++ b/drivers/net/mvpp2/mrvl_ethdev.c @@ -29,6 +29,7 @@ #include #include +#include #include "mrvl_ethdev.h" #include "mrvl_qos.h" @@ -63,9 +64,6 @@ #define MRVL_COOKIE_HIGH_ADDR_SHIFT (sizeof(pp2_cookie_t) * 8) #define MRVL_COOKIE_HIGH_ADDR_MASK (~0ULL << MRVL_COOKIE_HIGH_ADDR_SHIFT) -/* Memory size (in bytes) for MUSDK dma buffers */ -#define MRVL_MUSDK_DMA_MEMSIZE 41943040 - /** Port Rx offload capabilities */ #define MRVL_RX_OFFLOADS (DEV_RX_OFFLOAD_VLAN_FILTER | \ DEV_RX_OFFLOAD_JUMBO_FRAME | \ @@ -2653,24 +2651,17 @@ rte_pmd_mrvl_probe(struct rte_vdev_device *vdev) if (mrvl_dev_num) goto init_devices; - MRVL_LOG(INFO, "Perform MUSDK initializations"); - /* - * ret == -EEXIST is correct, it means DMA - * has been already initialized (by another PMD). - */ - ret = mv_sys_dma_mem_init(MRVL_MUSDK_DMA_MEMSIZE); - if (ret < 0) { - if (ret != -EEXIST) - goto out_free_kvlist; - else - MRVL_LOG(INFO, - "DMA memory has been already initialized by a different driver."); - } + MRVL_LOG(INFO, "Perform MUSDK initializations\n"); + + ret = rte_mvep_init(MVEP_MOD_T_PP2, kvlist); + if (ret) + goto out_free_kvlist; ret = mrvl_init_pp2(); if (ret) { - MRVL_LOG(ERR, "Failed to init PP!"); - goto out_deinit_dma; + MRVL_LOG(ERR, "Failed to init PP!\n"); + rte_mvep_deinit(MVEP_MOD_T_PP2); + goto out_free_kvlist; } memset(mrvl_port_bpool_size, 0, sizeof(mrvl_port_bpool_size)); @@ -2695,11 +2686,10 @@ rte_pmd_mrvl_probe(struct rte_vdev_device *vdev) for (; i > 0; i--) mrvl_eth_dev_destroy(ifnames.names[i]); - if (mrvl_dev_num == 0) + if (mrvl_dev_num == 0) { mrvl_deinit_pp2(); -out_deinit_dma: - if (mrvl_dev_num == 0) - mv_sys_dma_mem_destroy(); + rte_mvep_deinit(MVEP_MOD_T_PP2); + } out_free_kvlist: rte_kvargs_free(kvlist); @@ -2739,7 +2729,7 @@ rte_pmd_mrvl_remove(struct rte_vdev_device *vdev) MRVL_LOG(INFO, "Perform MUSDK deinit"); mrvl_deinit_hifs(); mrvl_deinit_pp2(); - mv_sys_dma_mem_destroy(); + rte_mvep_deinit(MVEP_MOD_T_PP2); } return 0;