From patchwork Sat Feb 26 12:44:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 108367 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5CCE5A034C; Sat, 26 Feb 2022 13:45:07 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1351C4068F; Sat, 26 Feb 2022 13:45:06 +0100 (CET) Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) by mails.dpdk.org (Postfix) with ESMTP id A285540395 for ; Sat, 26 Feb 2022 13:45:05 +0100 (CET) Received: by mail-pg1-f177.google.com with SMTP id w37so7201659pga.7 for ; Sat, 26 Feb 2022 04:45:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=atomicrules-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KOZQ7XC2ZyB5bnLq+yUb1bnWyRA8J8GnZlF2TJOcVk4=; b=WVeMYp8m6bGYWVXWj8Wb0DhYLgy7bSga2Jet/37YT8jxZlasSyeR5fhCdB1alvn2O2 D5XEVZwXCF3M0wyUfdN3W+iW/vAPz5UiN0MU2pZnMZvjlrg3p+xEh0guTgy6afeDHEu0 d3oCdiMaDz418fQwPjPCvbdjeBuuofhEtNvvY5+h+hxBsjh3FP0q40iBajbrUGe6cGqS e6/lz6rmWGMGqjFeQTUo1DWVZfp5m+mC6v154TqeqEKMDlR+fV1GOiuJKscGKavbqHd6 0RVNicUbTYptPGfig9ZrzrHaUWuPm66Z52HyQ1wj4JvtqZMebflKj5C5yxfhTyalOo7L wfRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=KOZQ7XC2ZyB5bnLq+yUb1bnWyRA8J8GnZlF2TJOcVk4=; b=VbWE8jJ6T6cObwwT5TtlWWn2wBD03UGJwtIDhyyj/HgH2Q0oAWbWvxdFenA8OPiaTf QAa5aiusfvN7rWb/BmPmRpS7adS6+t/Zi6YfRgRleUHBdM7PU55PuhfgLPOGKt1Sif5P 5kSGkn1duDBgQ/OlMJw+VTB4XkpTd6dOC3DOerHI7Gw25g2HEAP3Bhiuuxo6AuWqRtg6 H4LIeOicV3nUcjkS0BKF6kJt8u5b+Lf6Ur1awvwXq3mgEXXKUPHFiXONuznbQJsD1VB6 9qsHkDT11vs3iQ7vohgBy4XBhQ14Z4gzuu+dMAAytFY4WD5rHoXImcOI4ODksnPoTeol VOOQ== X-Gm-Message-State: AOAM530q1eZiA8wMGv2+lqz/RFxEmBpdVUfuQPout7E6RWRJfDLEPy6J ImziM50hsVKjA/shpbXA5K0wcmNHFL5LJQ== X-Google-Smtp-Source: ABdhPJwB8Lf0kRugWIjnrJkSwLFVBpzQWxWhRifE974i6QthmVh63RAQSduN1ZBlY5Ga4fGopn5e0g== X-Received: by 2002:a05:6a00:22d3:b0:4f3:d439:7189 with SMTP id f19-20020a056a0022d300b004f3d4397189mr7027394pfj.79.1645879504530; Sat, 26 Feb 2022 04:45:04 -0800 (PST) Received: from john-All-Series.tds (h75-100-85-216.cntcnh.broadband.dynamic.tds.net. [75.100.85.216]) by smtp.gmail.com with ESMTPSA id k22-20020aa788d6000000b004f1335c8889sm6792097pff.7.2022.02.26.04.45.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Feb 2022 04:45:03 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH] net/ark: support multi-port pkt generation Date: Sat, 26 Feb 2022 06:44:54 -0600 Message-Id: <20220226124454.68600-1-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 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 Added support for packet generation in multi-port Arkville implementations. The packet generator is a singleton within the device but is capable of generating packets for any port within one device. Signed-off-by: John Miller --- drivers/net/ark/ark_ethdev.c | 4 +++- drivers/net/ark/ark_global.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c index 230a1272e9..980e1a4a3b 100644 --- a/drivers/net/ark/ark_ethdev.c +++ b/drivers/net/ark/ark_ethdev.c @@ -441,6 +441,7 @@ ark_config_device(struct rte_eth_dev *dev) * known state */ ark->start_pg = 0; + ark->pg_running = 0; ark->pg = ark_pktgen_init(ark->pktgen.v, 0, 1); if (ark->pg == NULL) return -1; @@ -562,7 +563,7 @@ eth_ark_dev_start(struct rte_eth_dev *dev) if (ark->start_pg) ark_pktchkr_run(ark->pc); - if (ark->start_pg && (dev->data->port_id == 0)) { + if (ark->start_pg && !ark->pg_running) { pthread_t thread; /* Delay packet generatpr start allow the hardware to be ready @@ -574,6 +575,7 @@ eth_ark_dev_start(struct rte_eth_dev *dev) "starter thread\n"); return -1; } + ark->pg_running = 1; } if (ark->user_ext.dev_start) diff --git a/drivers/net/ark/ark_global.h b/drivers/net/ark/ark_global.h index 49193ac5b3..3c3a712bc8 100644 --- a/drivers/net/ark/ark_global.h +++ b/drivers/net/ark/ark_global.h @@ -107,6 +107,7 @@ struct ark_adapter { /* Pointers to packet generator and checker */ int start_pg; + uint16_t pg_running; ark_pkt_gen_t pg; ark_pkt_chkr_t pc; ark_pkt_dir_t pd;