From patchwork Fri Aug 24 18:29:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Duszynski X-Patchwork-Id: 43886 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 22EDD1B066; Fri, 24 Aug 2018 20:30:30 +0200 (CEST) Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by dpdk.org (Postfix) with ESMTP id BC5E51B05E for ; Fri, 24 Aug 2018 20:30:27 +0200 (CEST) Received: by mail-lj1-f196.google.com with SMTP id q127-v6so7577364ljq.11 for ; Fri, 24 Aug 2018 11:30:27 -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=CUCNDYiYMEPp1L3w8/F4Bfjs4lbrGllyP/ekobLjWtI=; b=BGXiOM3CKqdIW0E7R5QyTYAoHTbF/pDxoDbAijW0vIbDAjm1n7M6RyiWkfsI8gBAWz yoXv4i+PLPnjZY2V2WVmu6bpKHQ83ODtYV3bTbwDaXINnPps0Xd/Qoz1I/o+b6vemBi2 ajSAd9Grfzz4O/XXlLyVivJGZE5QRZxJ1wyS7Kwak4Gvx4ch6ZviG8C4fVzhk879L1rM XJRZY1bRiMsMIVQxTwAJ5IR5mjEZTqDiwUjP/2ZCcT+UG8mwLyya9T+eNAO+1OUvpP0k Z1z6zseo0m1JKdde802VmbSwIiXhVVFHSeERjZE3TGzbJ2wvmb8x7yjCVxknHvLlYfF6 TDug== 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=CUCNDYiYMEPp1L3w8/F4Bfjs4lbrGllyP/ekobLjWtI=; b=FPKcDGaHItiiVOH6ie4j+xlnf3wjZVvptBjP425rv4/hNEHYtm6y8QNrwXQKwoKSIC 6vslyMZPL0dpGyf/SRaUnOPwE5nTLN9hRqWlW+BYfFCkyJq+GU6YOBr+vW1hDDlRMpVJ KB5LUBo3Uwc08MqlDAX1SnNVOU1UDwuYVmyAFtz2cOvAfAC9/nA4mk8gCrLQzgMnLNUd fWBMXh+cMzFx5zOPgpN7uleYmsHIUzLBX+KvYHZgzpGX+qHgp0FlJCjoFJAh4I9JEn1y Jwib6CeX9FFs++CUhIBDKRxn42uLZXFiCLuXO2QiXe0AnouwY9vKjze2m5M7LYdciYu5 PfkA== X-Gm-Message-State: APzg51CGHuSk6RiDfPJVZIRTTUW8/vWQFyzlqQZgtG9l2058hZqGOI3D ypjCo57RdzqlXTupq9wXpxmuH1X0GDk= X-Google-Smtp-Source: ANB0Vdbehpr39bBkxlneYb1OgZPyPCWRlFfv4Nuknk5D4JkiOUnCG87gMH0N2ZpJIoqYeNsCDk/usg== X-Received: by 2002:a2e:9cd0:: with SMTP id g16-v6mr2206055ljj.110.1535135427253; Fri, 24 Aug 2018 11:30:27 -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 g16-v6sm1420484lfb.5.2018.08.24.11.30.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 24 Aug 2018 11:30:26 -0700 (PDT) From: Tomasz Duszynski To: dev@dpdk.org Cc: nsamsono@marvell.com, mw@semihalf.com, Liron Himi Date: Fri, 24 Aug 2018 20:29:59 +0200 Message-Id: <1535135403-16115-3-git-send-email-tdu@semihalf.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1535135403-16115-1-git-send-email-tdu@semihalf.com> References: <1535122494-30249-1-git-send-email-tdu@semihalf.com> <1535135403-16115-1-git-send-email-tdu@semihalf.com> Subject: [dpdk-dev] [PATCH v3 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 | 32 +++++++++++--------------------- 3 files changed, 14 insertions(+), 23 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..8e1a32f 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 | \ @@ -2654,23 +2652,16 @@ rte_pmd_mrvl_probe(struct rte_vdev_device *vdev) 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."); - } + + 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; + 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;