From patchwork Tue Feb 15 22:19:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 107662 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 7A06AA00C5; Tue, 15 Feb 2022 23:19:39 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4113A410F7; Tue, 15 Feb 2022 23:19:39 +0100 (CET) Received: from mail-il1-f180.google.com (mail-il1-f180.google.com [209.85.166.180]) by mails.dpdk.org (Postfix) with ESMTP id C6C14410F3 for ; Tue, 15 Feb 2022 23:19:37 +0100 (CET) Received: by mail-il1-f180.google.com with SMTP id f13so106513ilq.5 for ; Tue, 15 Feb 2022 14:19:37 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=KguQqGEE4xD9lgm370trL71NvbNkvmnDaH/+eujfBAI=; b=wqjLnEqbqY90+wbG8GI+KNGqyd9xiqHwJWqRTO6LuvDSLjZkeEg5FK9JCn4DWPOg1T rbHRhKxe8ukLSUXvuuI2rRwH76DAp5Dojntg4F+MvuOz/Zr/ymwE/0ZWqPsXJ0IQudSI nHqbq944zEOeXwPPgW1lvcnswJ38FmZU3x4MpBMD0V5G254kMhC/w8agPv8qtdHP3srt QWDRsB2wlxvfYyIt1S5sJwpcJw22f/cBR09WHf2HrLhTzYt9tKgtmzwcTucNZCXsJyao KEPfpfnVggh9hNI8NWg809hYx8gqJwrA8A+TWUyot0sN6mIyKq6LoNp5ZCFn520ESPJ8 s3bw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=KguQqGEE4xD9lgm370trL71NvbNkvmnDaH/+eujfBAI=; b=A9AGMa71cX1H9EdW3vdLIvewSpXyZD9u+BQTX8tTadT7ijVnrNLIKiOlubRUIL2STQ KoXpOXItoYCMF2cCt29LQc+LAvrPbNFtu0HVVCW44I2RUVhE35vyBcX4BP0znzr+d8Sz o+HKw06Cr75CExzwyZBsRuyctRYL0K7ArDB4vJ3ZdZH5RAiMhM/3GU9kkMBUCq4Oyrys cTED254qfCCQly+IwPRqfSJHDv0fmfdcHq7bE/L1y232Egr5yuUiLSi2yM7a+1y53PEc 8Z1fv8/Jz5RCNS7fWKXQ+J8oY2bSsVj3Ddp/wP6gXUrZ9brWzt1IKvZWPHuXGEu9lKeG DEWg== X-Gm-Message-State: AOAM5322lrKqpWCmyKcbNuMXYp6DqB5nsTyAUfBBX6eKaJgvAwkR+ONA 86YNB+aAHoAER3sd/1brns4HhS+hRcA8/w== X-Google-Smtp-Source: ABdhPJxha4kHZtCpbXUDw03PVTIEjyh0fWm/wl3MjXDnrVcc72PHQl2BMb1vB1GbWf2FN6EWHg2fFw== X-Received: by 2002:a05:6e02:1c2e:: with SMTP id m14mr738965ilh.243.1644963576944; Tue, 15 Feb 2022 14:19:36 -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 a15sm10758823ilj.21.2022.02.15.14.19.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 14:19:36 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH v3 1/7] net/ark: add device capabilities record Date: Tue, 15 Feb 2022 16:19:20 -0600 Message-Id: <20220215221926.409039-1-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220119191255.273988-ed.czeck@atomicrules.com> References: <20220119191255.273988-ed.czeck@atomicrules.com> 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 Add a device capabilities record for supported features. Certain variants require that PCIe read-requests be correctly throttled. This is called "rqpacing" in Arkville, and has to do with credit and flow control on certain Arkville implementations. Signed-off-by: John Miller --- v2: - Improved code readability and comments. v3: - Split patch to separate new supported devices. --- drivers/net/ark/ark_ethdev.c | 84 ++++++++++++++++++++++++++++-------- 1 file changed, 67 insertions(+), 17 deletions(-) diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c index 230a1272e9..d2b1cb083b 100644 --- a/drivers/net/ark/ark_ethdev.c +++ b/drivers/net/ark/ark_ethdev.c @@ -85,17 +85,49 @@ static const char * const valid_arguments[] = { NULL }; +#define AR_VENDOR_ID 0x1d6c static const struct rte_pci_id pci_id_ark_map[] = { - {RTE_PCI_DEVICE(0x1d6c, 0x100d)}, - {RTE_PCI_DEVICE(0x1d6c, 0x100e)}, - {RTE_PCI_DEVICE(0x1d6c, 0x100f)}, - {RTE_PCI_DEVICE(0x1d6c, 0x1010)}, - {RTE_PCI_DEVICE(0x1d6c, 0x1017)}, - {RTE_PCI_DEVICE(0x1d6c, 0x1018)}, - {RTE_PCI_DEVICE(0x1d6c, 0x1019)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x100d)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x100e)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x100f)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x1010)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x1017)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x1018)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x1019)}, {.vendor_id = 0, /* sentinel */ }, }; +/* + * This structure is used to statically define the capabilities + * of supported devices. + * Capabilities: + * rqpacing - + * Some HW variants require that PCIe read-requests be correctly throttled. + * This is called "rqpacing" and has to do with credit and flow control + * on certain Arkville implementations. + */ +struct ark_caps { + bool rqpacing; +}; +struct ark_dev_caps { + uint32_t device_id; + struct ark_caps caps; +}; +#define SET_DEV_CAPS(id, rqp) \ + {id, {.rqpacing = rqp} } + +static const struct ark_dev_caps +ark_device_caps[] = { + SET_DEV_CAPS(0x100d, true), + SET_DEV_CAPS(0x100e, true), + SET_DEV_CAPS(0x100f, true), + SET_DEV_CAPS(0x1010, false), + SET_DEV_CAPS(0x1017, true), + SET_DEV_CAPS(0x1018, true), + SET_DEV_CAPS(0x1019, true), + {.device_id = 0,} +}; + static int eth_ark_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, struct rte_pci_device *pci_dev) @@ -256,6 +288,7 @@ eth_ark_dev_init(struct rte_eth_dev *dev) int ret; int port_count = 1; int p; + bool rqpacing = false; ark->eth_dev = dev; @@ -270,6 +303,15 @@ eth_ark_dev_init(struct rte_eth_dev *dev) rte_eth_copy_pci_info(dev, pci_dev); dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS; + p = 0; + while (ark_device_caps[p].device_id != 0) { + if (pci_dev->id.device_id == ark_device_caps[p].device_id) { + rqpacing = ark_device_caps[p].caps.rqpacing; + break; + } + p++; + } + /* Use dummy function until setup */ dev->rx_pkt_burst = rte_eth_pkt_burst_dummy; dev->tx_pkt_burst = rte_eth_pkt_burst_dummy; @@ -288,8 +330,12 @@ eth_ark_dev_init(struct rte_eth_dev *dev) ark->pktgen.v = (void *)&ark->bar0[ARK_PKTGEN_BASE]; ark->pktchkr.v = (void *)&ark->bar0[ARK_PKTCHKR_BASE]; - ark->rqpacing = - (struct ark_rqpace_t *)(ark->bar0 + ARK_RCPACING_BASE); + if (rqpacing) { + ark->rqpacing = + (struct ark_rqpace_t *)(ark->bar0 + ARK_RCPACING_BASE); + } else { + ark->rqpacing = NULL; + } ark->started = 0; ark->pkt_dir_v = ARK_PKT_DIR_INIT_VAL; @@ -309,13 +355,15 @@ eth_ark_dev_init(struct rte_eth_dev *dev) return -1; } if (ark->sysctrl.t32[3] != 0) { - if (ark_rqp_lasped(ark->rqpacing)) { - ARK_PMD_LOG(ERR, "Arkville Evaluation System - " - "Timer has Expired\n"); - return -1; + if (ark->rqpacing) { + if (ark_rqp_lasped(ark->rqpacing)) { + ARK_PMD_LOG(ERR, "Arkville Evaluation System - " + "Timer has Expired\n"); + return -1; + } + ARK_PMD_LOG(WARNING, "Arkville Evaluation System - " + "Timer is Running\n"); } - ARK_PMD_LOG(WARNING, "Arkville Evaluation System - " - "Timer is Running\n"); } ARK_PMD_LOG(DEBUG, @@ -499,7 +547,8 @@ ark_config_device(struct rte_eth_dev *dev) ark_ddm_stats_reset(ark->ddm.v); ark_ddm_stop(ark->ddm.v, 0); - ark_rqp_stats_reset(ark->rqpacing); + if (ark->rqpacing) + ark_rqp_stats_reset(ark->rqpacing); return 0; } @@ -695,7 +744,8 @@ eth_ark_dev_close(struct rte_eth_dev *dev) /* * TODO This should only be called once for the device during shutdown */ - ark_rqp_dump(ark->rqpacing); + if (ark->rqpacing) + ark_rqp_dump(ark->rqpacing); for (i = 0; i < dev->data->nb_tx_queues; i++) { eth_ark_tx_queue_release(dev->data->tx_queues[i]); From patchwork Tue Feb 15 22:19:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 107663 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 1263DA00C5; Tue, 15 Feb 2022 23:19:44 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0FE174114B; Tue, 15 Feb 2022 23:19:40 +0100 (CET) Received: from mail-il1-f170.google.com (mail-il1-f170.google.com [209.85.166.170]) by mails.dpdk.org (Postfix) with ESMTP id 98FF0410F3 for ; Tue, 15 Feb 2022 23:19:38 +0100 (CET) Received: by mail-il1-f170.google.com with SMTP id o10so141267ilh.0 for ; Tue, 15 Feb 2022 14:19:38 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=vWZaJNsMSzfI2RoyhVLbyXoMlYZTXQnwO4s77oUo8IU=; b=RRIT+x0Gq+UMrD50OW3TCu4SU+xe51YH7D+fv5v95eg5IAcy0JOQdMLIHyQNGdfK1f l9fy1iOWDASiqCN49lBMo/JhrhOy6tmydVqubcoFYp+p4KfLP/A0VwIZqAi48+X1OaZv cxosCAxUjU47RI8L1hw9nCFkcSVqQSbW6StC9PWa7Ml9B6DluA5VZIk9U8Nb89F4KiP8 Bgcr6xdbWRBVMziAxrbZ0ekbbXd/bNhqDUqnVK9KcwNNLb2pj4J7PxfFr5h6GAYqH0JW c5JaN+Ibt5M11Ql/H2kPvbG3HjrY4tJXkWlZxlM/AmYSaYoBeSJQAPno6odRaZD5KH2m wejA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=vWZaJNsMSzfI2RoyhVLbyXoMlYZTXQnwO4s77oUo8IU=; b=pN+UxgfBKZr9E1Peib6XYyEcmt0BaAnRJb5y9NkNy1ZAhg2fKav/E+5IbLc0BgFxzE Vb3KnNrj7nLMZslwXrPjtvax+OtJao7N3adDnAgBqiyRzRj89qeIW8wqji1C/huHTUI2 s7tAmKI+Blx5xvj207vkN6PFEqVbXJKPk+tgMBts/TpxfMxP6kNfpBn5W7B+3aC1zkhf 2qAIzwqx9mqnNmwe0f2a5i4gJwy7HRCnx6BvueE0/I8e8OIj1l7bBTj5/pOKB05ufcMU 6Gt2ARiXwyC16uYwfAaDq6CJ9gVjkQLVKW7WLOS2maLBMwk0bT8PkLCwbt7ahT/Xq2fe OU4Q== X-Gm-Message-State: AOAM530w/jmGOnFsO9OdUJQsw5la9Ag7FsN9NXG1/+fbgjG8ozCUi3hn e3B6rJMASZR7swA6uUqW+VSy0GbHr4IMRQ== X-Google-Smtp-Source: ABdhPJzlpw7HGjU79NNhvKUcGAawmrsD8kxtvzgOrZDuqkVv3432W/obT2b/sPZSq+rd2NKvlkV6vw== X-Received: by 2002:a05:6e02:1649:: with SMTP id v9mr750981ilu.199.1644963577844; Tue, 15 Feb 2022 14:19:37 -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 a15sm10758823ilj.21.2022.02.15.14.19.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 14:19:37 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH v3 2/7] net/ark: add support for new devices Date: Tue, 15 Feb 2022 16:19:21 -0600 Message-Id: <20220215221926.409039-2-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215221926.409039-1-john.miller@atomicrules.com> References: <20220119191255.273988-ed.czeck@atomicrules.com> <20220215221926.409039-1-john.miller@atomicrules.com> 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 Add two new supported device ID's. Add documentation for new devices. Signed-off-by: John Miller --- v3: - Split patch and added documentation --- doc/guides/nics/ark.rst | 2 ++ drivers/net/ark/ark_ethdev.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/doc/guides/nics/ark.rst b/doc/guides/nics/ark.rst index da61814b5d..60b61e08e8 100644 --- a/doc/guides/nics/ark.rst +++ b/doc/guides/nics/ark.rst @@ -297,6 +297,8 @@ ARK PMD supports the following Arkville RTL PCIe instances including: * ``1d6c:1017`` - AR-ARK-FX1 [Arkville 64B Multi-Homed Primary Endpoint] * ``1d6c:1018`` - AR-ARK-FX1 [Arkville 64B Multi-Homed Secondary Endpoint] * ``1d6c:1019`` - AR-ARK-FX1 [Arkville 64B Multi-Homed Tertiary Endpoint] +* ``1d6c:101e`` - AR-ARKA-FX1 [Arkville 64B DPDK Data Mover for Agilex R-Tile] +* ``1d6c:101f`` - AR-TK242 [2x100GbE Packet Capture Device] Supported Operating Systems --------------------------- diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c index d2b1cb083b..a13f74718b 100644 --- a/drivers/net/ark/ark_ethdev.c +++ b/drivers/net/ark/ark_ethdev.c @@ -94,6 +94,8 @@ static const struct rte_pci_id pci_id_ark_map[] = { {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x1017)}, {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x1018)}, {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x1019)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x101e)}, + {RTE_PCI_DEVICE(AR_VENDOR_ID, 0x101f)}, {.vendor_id = 0, /* sentinel */ }, }; @@ -125,6 +127,8 @@ ark_device_caps[] = { SET_DEV_CAPS(0x1017, true), SET_DEV_CAPS(0x1018, true), SET_DEV_CAPS(0x1019, true), + SET_DEV_CAPS(0x101e, false), + SET_DEV_CAPS(0x101f, false), {.device_id = 0,} }; From patchwork Tue Feb 15 22:19:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 107664 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 D70BAA00C5; Tue, 15 Feb 2022 23:19:48 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CD0C741153; Tue, 15 Feb 2022 23:19:41 +0100 (CET) Received: from mail-il1-f177.google.com (mail-il1-f177.google.com [209.85.166.177]) by mails.dpdk.org (Postfix) with ESMTP id BF79441147 for ; Tue, 15 Feb 2022 23:19:39 +0100 (CET) Received: by mail-il1-f177.google.com with SMTP id h11so94210ilq.9 for ; Tue, 15 Feb 2022 14:19:39 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=Lp0TTqR6BvW9dpA6o0kvnsD9NzUg8oq3vEhbF2zKiU4=; b=ABIbNTZw4RVYPOhMmf1Upuityt4yXLNpQPbzmBtGS42t8JbeSIdgpE0g83zkLVsHaa X11wDabRjNj5TCMtg3QqlBVL7toRvLvrNUDrXNpd5Zpdpp2nsjgLcrnn578hPSBf2lCv 086wl6clZSh6IV3hx2jCuyBe+GzzcQduYvNiLCvak6ZSwVV8U94vM4W7FvRPht14/qJA Q+hV0JknYbSgVDVUZIEqrPTbdXD+1qwGpXfgkpZGueq3pLuPu5Vde3yM+pL9bqJHjmwb HTcWcrefDIE0TuA2Xda3sbhmdgAQirI90tTrlZsmCrB7PJ9xwWtriKa2qjZcYJBaVoVu sXvA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Lp0TTqR6BvW9dpA6o0kvnsD9NzUg8oq3vEhbF2zKiU4=; b=gG5fVQ6hSfFPhhFP7lBNSmC7A4OaxiFCi1vTBW/tlkefuvvkEp+AUZoQrE8sxXt6pf DPGbH1I4xz8fVMlWIkRZhvwG3nGzvKlW9JMMQRSXqHD4yAuweZcqin9k/Ce+pIqhb6PP k9rHPDtLxam21MbBCch6o/G0ZqEGzEGKhRzwF8fpKWLvQCIzY1g83PLum6WKXNRd2TOM 4Xkc7ZH29qG+KWthcx9uWbyZjupReNd0ccA17QLlWbpz8oPJ2ICoX6C44J/J5kI/hIZz YjJKKOEQZbmdEVjA7q/DoHpetPzE1pJrugC88o02hLFOsRSvHTswX7wkEKWWsb6WOMdg 4/Rg== X-Gm-Message-State: AOAM531l32mt/ODFcLSVYCeau6t88ZzpeOcc8oG5UBuVjbZ9yffocWtQ vRWnCU57lPZUlDVovOLqailfbkl3rS8FmA== X-Google-Smtp-Source: ABdhPJyfyOifDhcq71u1QdR05ilYyYUUdknl2wawo8DKA1EtTY/Sv7slhJiGUs0+woDTN1mSI06dgA== X-Received: by 2002:a92:d286:: with SMTP id p6mr730351ilp.310.1644963578644; Tue, 15 Feb 2022 14:19:38 -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 a15sm10758823ilj.21.2022.02.15.14.19.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 14:19:38 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH v3 3/7] net/ark: support arbitrary mbuf size Date: Tue, 15 Feb 2022 16:19:22 -0600 Message-Id: <20220215221926.409039-3-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215221926.409039-1-john.miller@atomicrules.com> References: <20220119191255.273988-ed.czeck@atomicrules.com> <20220215221926.409039-1-john.miller@atomicrules.com> 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 arbitrary mbuf size per queue capability. Updated ARK_UDM_CONST3 value to reflect the version number read from the HW that is required to support this change. Signed-off-by: John Miller --- drivers/net/ark/ark_ethdev.c | 8 -------- drivers/net/ark/ark_ethdev_rx.c | 23 +++++++++++++++++++---- drivers/net/ark/ark_udm.h | 2 +- 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c index a13f74718b..51b9e04701 100644 --- a/drivers/net/ark/ark_ethdev.c +++ b/drivers/net/ark/ark_ethdev.c @@ -527,14 +527,6 @@ ark_config_device(struct rte_eth_dev *dev) mpu = RTE_PTR_ADD(mpu, ARK_MPU_QOFFSET); } - ark_udm_stop(ark->udm.v, 0); - ark_udm_configure(ark->udm.v, - RTE_PKTMBUF_HEADROOM, - RTE_MBUF_DEFAULT_DATAROOM, - ARK_RX_WRITE_TIME_NS); - ark_udm_stats_reset(ark->udm.v); - ark_udm_stop(ark->udm.v, 0); - /* TX -- DDM */ if (ark_ddm_stop(ark->ddm.v, 1)) ARK_PMD_LOG(ERR, "Unable to stop DDM\n"); diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c index 37a88cbede..0478702cbe 100644 --- a/drivers/net/ark/ark_ethdev_rx.c +++ b/drivers/net/ark/ark_ethdev_rx.c @@ -12,7 +12,6 @@ #define ARK_RX_META_SIZE 32 #define ARK_RX_META_OFFSET (RTE_PKTMBUF_HEADROOM - ARK_RX_META_SIZE) -#define ARK_RX_MAX_NOCHAIN (RTE_MBUF_DEFAULT_DATAROOM) /* Forward declarations */ struct ark_rx_queue; @@ -41,6 +40,9 @@ struct ark_rx_queue { rx_user_meta_hook_fn rx_user_meta_hook; void *ext_user_data; + uint32_t dataroom; + uint32_t headroom; + uint32_t queue_size; uint32_t queue_mask; @@ -164,6 +166,9 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, /* NOTE zmalloc is used, no need to 0 indexes, etc. */ queue->mb_pool = mb_pool; + queue->dataroom = rte_pktmbuf_data_room_size(mb_pool) - + RTE_PKTMBUF_HEADROOM; + queue->headroom = RTE_PKTMBUF_HEADROOM; queue->phys_qid = qidx; queue->queue_index = queue_idx; queue->queue_size = nb_desc; @@ -196,6 +201,15 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, queue->udm = RTE_PTR_ADD(ark->udm.v, qidx * ARK_UDM_QOFFSET); queue->mpu = RTE_PTR_ADD(ark->mpurx.v, qidx * ARK_MPU_QOFFSET); + /* Configure UDM per queue */ + ark_udm_stop(queue->udm, 0); + ark_udm_configure(queue->udm, + RTE_PKTMBUF_HEADROOM, + queue->dataroom, + ARK_RX_WRITE_TIME_NS); + ark_udm_stats_reset(queue->udm); + ark_udm_stop(queue->udm, 0); + /* populate mbuf reserve */ status = eth_ark_rx_seed_mbufs(queue); @@ -267,6 +281,7 @@ eth_ark_recv_pkts(void *rx_queue, mbuf->data_len = meta->pkt_len; if (ARK_DEBUG_CORE) { /* debug sanity checks */ + if ((meta->pkt_len > (1024 * 16)) || (meta->pkt_len == 0)) { ARK_PMD_LOG(DEBUG, "RX: Bad Meta Q: %u" @@ -295,7 +310,7 @@ eth_ark_recv_pkts(void *rx_queue, } } - if (unlikely(meta->pkt_len > ARK_RX_MAX_NOCHAIN)) + if (unlikely(meta->pkt_len > queue->dataroom)) cons_index = eth_ark_rx_jumbo (queue, meta, mbuf, cons_index + 1); else @@ -336,14 +351,14 @@ eth_ark_rx_jumbo(struct ark_rx_queue *queue, /* first buf populated by called */ mbuf_prev = mbuf0; segments = 1; - data_len = RTE_MIN(meta->pkt_len, RTE_MBUF_DEFAULT_DATAROOM); + data_len = RTE_MIN(meta->pkt_len, queue->dataroom); remaining = meta->pkt_len - data_len; mbuf0->data_len = data_len; /* HW guarantees that the data does not exceed prod_index! */ while (remaining != 0) { data_len = RTE_MIN(remaining, - RTE_MBUF_DEFAULT_DATAROOM); + queue->dataroom); remaining -= data_len; segments += 1; diff --git a/drivers/net/ark/ark_udm.h b/drivers/net/ark/ark_udm.h index 4e51a5e82c..1cbcd94a98 100644 --- a/drivers/net/ark/ark_udm.h +++ b/drivers/net/ark/ark_udm.h @@ -33,7 +33,7 @@ struct ark_rx_meta { #define ARK_RX_WRITE_TIME_NS 2500 #define ARK_UDM_SETUP 0 #define ARK_UDM_CONST2 0xbACECACE -#define ARK_UDM_CONST3 0x334d4455 +#define ARK_UDM_CONST3 0x344d4455 #define ARK_UDM_CONST ARK_UDM_CONST3 struct ark_udm_setup_t { uint32_t r0; From patchwork Tue Feb 15 22:19:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 107665 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 DC968A00C5; Tue, 15 Feb 2022 23:19:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A17594115A; Tue, 15 Feb 2022 23:19:42 +0100 (CET) Received: from mail-il1-f174.google.com (mail-il1-f174.google.com [209.85.166.174]) by mails.dpdk.org (Postfix) with ESMTP id 56D5F41151 for ; Tue, 15 Feb 2022 23:19:40 +0100 (CET) Received: by mail-il1-f174.google.com with SMTP id h11so94226ilq.9 for ; Tue, 15 Feb 2022 14:19:40 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=NEobRywn17JmUvRAIV0N02w6ki94aTR7AINj0fmS4y4=; b=m5PnkelZExaTM9QJKT/hp0HdHIVr6kOV6jdXbmeQQHnCdlfzA4yt7m27YZWzqVvWpA S670EqPfddLo+6KVA9ZkyjRwA9Qs+g9W2YFzsHcRAMuCmJ2+yYfT56MbcLxDak62In4m wCR9YGu8xEBXG/XSk05mBzchqPLtn6cThyLNUWUNnHBgHGi/m3w0f4GaKr4Fxh/Axgjl rw/qI2ErjyXzDgSPRYZ55eXbQimWINyWECBsRXg2DruGiTORNkbRGJJFNkTInVXNJTG/ /NSj6llUgDOJ/ifgogGbANJh7CerQGDQwRRgM6632NWvf49kOUpAzxiHk8XJkjoqpEQt s90A== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=NEobRywn17JmUvRAIV0N02w6ki94aTR7AINj0fmS4y4=; b=iaMZoUqJHV9U18g2fhrWzXW7sHy5ucKO9sSJUrFeTrK9RjVnwU2kXOeBhKyaGS/ipm WylY8d1E69jLS3xQOliKWexBWfhzaPhep0547KfDjOGvQzhNZqRY/tmejtyBn1NlBzRS t1XKHe1xLcaO9OKn1ItINL3y7yZDMDqagaKfz2aj8tK7Wx8RpPIpta/I79lqp2M3ggVx RpadMbIUbWJeq3hE8mUtGxsSF8bZcDsEGu9ESq3jq0K1EESa9NRyx3ywWYYQr1GVDCAD zOXk/jduSGb0zLsq5uYXNqaQpfdlgv7UFfJ/4yJzAvHMl7cGU8KkBLKTQkntNwVX7pdd OvjA== X-Gm-Message-State: AOAM5324fpUHVMws4vmF9Ik9UIlgszuzfQalqZ9G7eHx6HXNVrlU4SYR q1tONKkEv6fnv8FmfhkbNOjJG/1zz63mug== X-Google-Smtp-Source: ABdhPJxGYzm9SyHorrSO2vrELMklJagjgIZTZp5PmeiM08hfK/1TvRm4HVgFr6nhLSBhDcGQE/vEPw== X-Received: by 2002:a05:6e02:170b:: with SMTP id u11mr775757ill.124.1644963579571; Tue, 15 Feb 2022 14:19:39 -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 a15sm10758823ilj.21.2022.02.15.14.19.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 14:19:39 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH v3 4/7] net/ark: packet generator and checker status update Date: Tue, 15 Feb 2022 16:19:23 -0600 Message-Id: <20220215221926.409039-4-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215221926.409039-1-john.miller@atomicrules.com> References: <20220119191255.273988-ed.czeck@atomicrules.com> <20220215221926.409039-1-john.miller@atomicrules.com> 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 Configuration status updates for internal packet checker and generator. Signed-off-by: John Miller --- drivers/net/ark/ark_pktchkr.c | 2 +- drivers/net/ark/ark_pktgen.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ark/ark_pktchkr.c b/drivers/net/ark/ark_pktchkr.c index 84bb567a41..12a5abb2f7 100644 --- a/drivers/net/ark/ark_pktchkr.c +++ b/drivers/net/ark/ark_pktchkr.c @@ -113,7 +113,7 @@ ark_pktchkr_stopped(ark_pkt_chkr_t handle) struct ark_pkt_chkr_inst *inst = (struct ark_pkt_chkr_inst *)handle; uint32_t r = inst->sregs->pkt_start_stop; - return (((r >> 16) & 1) == 1); + return (((r >> 16) & 1) == 1) || (r == 0); } void diff --git a/drivers/net/ark/ark_pktgen.c b/drivers/net/ark/ark_pktgen.c index 515bfe461c..6195ef997f 100644 --- a/drivers/net/ark/ark_pktgen.c +++ b/drivers/net/ark/ark_pktgen.c @@ -107,7 +107,7 @@ ark_pktgen_paused(ark_pkt_gen_t handle) struct ark_pkt_gen_inst *inst = (struct ark_pkt_gen_inst *)handle; uint32_t r = inst->regs->pkt_start_stop; - return (((r >> 16) & 1) == 1); + return (((r >> 24) & 1) == 1) || (((r >> 16) & 1) == 1) || (r == 0); } void From patchwork Tue Feb 15 22:19:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 107666 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 09F68A00C5; Tue, 15 Feb 2022 23:19:59 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 677694115D; Tue, 15 Feb 2022 23:19:43 +0100 (CET) Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by mails.dpdk.org (Postfix) with ESMTP id 3741A41153 for ; Tue, 15 Feb 2022 23:19:41 +0100 (CET) Received: by mail-io1-f45.google.com with SMTP id w7so187521ioj.5 for ; Tue, 15 Feb 2022 14:19:41 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=tV7aWTFWMWpteSMSfSZggj8tWppYCzCFjdcnF5bFdtk=; b=1nvcpjWELXoeWfXIEH5qoAImeVIYi38amrrj1kCkOXGMm3DITUaFld57jko+9NLPnn Y8jxPC1EMDtQC47PGaokj25iSQwWmxL8AmbQEiJSOISkeZDaV9o3QI8ph6iG4+bVfS05 WRhLPMGNU8PkJzOlqyHJFSL0td+kork+GmiALUtDy8Mvf7rSO5Tv4XHrBY7enQVEOWbK l2J4yyO6u+/o9D0XyI78FH8e019oWGlBqDAyXaHr0c0sqRKi5u/SsbWAfNgOonODM/gN jc/9Aquxwb0692oVGKl1gOAqgAbBNHT6d1jQNZxiM0pW9jPH9/EWqVZIQsnX6+5tMyoD n+1g== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=tV7aWTFWMWpteSMSfSZggj8tWppYCzCFjdcnF5bFdtk=; b=ge6DEMNXQbclAT7TaVMRmqcVssJhUNBpfJ6aAdafAl71iwDf7aUnoLaUwFIlZbobN+ BieG1xA8HBfBftu05WJmQLVCSTFyWd06irQY0c5hMpuuitelzN/ZKT85zJxJwzWUhJls F94aMbonvNzdlZFYfezZXChN6zVtomwv+7ISFMUuWczlWSMHeWEstKYOGsdR0BAGA0Dv UgorMlzYA+Dnw3HnQQvmaIegFnVXiB16vPRcHw3sWvYHzsWM4Vnv0YpoY73IiGRZfeqG eJRE45cDLFMY2c93zrv4mt1Vo/Q4JJxUUfB0n8skS7cAB0ypYro5JYLgx9pbHSoDacZu XjlA== X-Gm-Message-State: AOAM531iAsP0ijwrRtAJIA5e0KIo2oIlqwt+n7CQ8SiIgjYTWLEB+phl yf1eFvdpMBgoTef4QfvGwD3MUP2gQ+sW0Q== X-Google-Smtp-Source: ABdhPJwEAScU+bWS7ewXU8NLghFdApgfR5VHdJ01q8jP7WHfctebwR2UFC/BWfUSUDORMgbOSgGrBw== X-Received: by 2002:a05:6638:3003:: with SMTP id r3mr644613jak.239.1644963580419; Tue, 15 Feb 2022 14:19:40 -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 a15sm10758823ilj.21.2022.02.15.14.19.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 14:19:40 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH v3 5/7] net/ark: support chunk DMA transfers Date: Tue, 15 Feb 2022 16:19:24 -0600 Message-Id: <20220215221926.409039-5-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215221926.409039-1-john.miller@atomicrules.com> References: <20220119191255.273988-ed.czeck@atomicrules.com> <20220215221926.409039-1-john.miller@atomicrules.com> 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 Add support for chunk DMA transfers. Chunk mpu transfer use 64 objects (512 byte) to maintain memory read alignment. Align mpu memory allocation to be at 512 byte boundaries. Reduce force-close allocation from 10000 objects to 64 objects. Signed-off-by: John Miller --- drivers/net/ark/ark_ethdev_rx.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c index 0478702cbe..0fbb2603db 100644 --- a/drivers/net/ark/ark_ethdev_rx.c +++ b/drivers/net/ark/ark_ethdev_rx.c @@ -12,6 +12,7 @@ #define ARK_RX_META_SIZE 32 #define ARK_RX_META_OFFSET (RTE_PKTMBUF_HEADROOM - ARK_RX_META_SIZE) +#define ARK_RX_MPU_CHUNK (64U) /* Forward declarations */ struct ark_rx_queue; @@ -104,7 +105,7 @@ static inline void eth_ark_rx_update_cons_index(struct ark_rx_queue *queue, uint32_t cons_index) { queue->cons_index = cons_index; - if ((cons_index + queue->queue_size - queue->seed_index) >= 64U) { + if ((cons_index + queue->queue_size - queue->seed_index) >= ARK_RX_MPU_CHUNK) { eth_ark_rx_seed_mbufs(queue); ark_mpu_set_producer(queue->mpu, queue->seed_index); } @@ -179,12 +180,12 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, queue->reserve_q = rte_zmalloc_socket("Ark_rx_queue mbuf", nb_desc * sizeof(struct rte_mbuf *), - 64, + 512, socket_id); queue->paddress_q = rte_zmalloc_socket("Ark_rx_queue paddr", nb_desc * sizeof(rte_iova_t), - 64, + 512, socket_id); if (queue->reserve_q == 0 || queue->paddress_q == 0) { @@ -446,7 +447,8 @@ eth_ark_rx_stop_queue(struct rte_eth_dev *dev, uint16_t queue_id) static inline int eth_ark_rx_seed_mbufs(struct ark_rx_queue *queue) { - uint32_t limit = queue->cons_index + queue->queue_size; + uint32_t limit = (queue->cons_index & ~(ARK_RX_MPU_CHUNK - 1)) + + queue->queue_size; uint32_t seed_index = queue->seed_index; uint32_t count = 0; @@ -609,14 +611,14 @@ eth_ark_udm_force_close(struct rte_eth_dev *dev) ark_mpu_start(queue->mpu); /* Add some buffers */ - index = 100000 + queue->seed_index; + index = ARK_RX_MPU_CHUNK + queue->seed_index; ark_mpu_set_producer(queue->mpu, index); } /* Wait to allow data to pass */ usleep(100); - ARK_PMD_LOG(DEBUG, "UDM forced flush attempt, stopped = %d\n", - ark_udm_is_flushed(ark->udm.v)); + ARK_PMD_LOG(NOTICE, "UDM forced flush attempt, stopped = %d\n", + ark_udm_is_flushed(ark->udm.v)); } ark_udm_reset(ark->udm.v); } From patchwork Tue Feb 15 22:19:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 107668 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 5E172A00C5; Tue, 15 Feb 2022 23:20:10 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D66F41172; Tue, 15 Feb 2022 23:19:46 +0100 (CET) Received: from mail-il1-f182.google.com (mail-il1-f182.google.com [209.85.166.182]) by mails.dpdk.org (Postfix) with ESMTP id E53934114A for ; Tue, 15 Feb 2022 23:19:42 +0100 (CET) Received: by mail-il1-f182.google.com with SMTP id k18so86217ils.11 for ; Tue, 15 Feb 2022 14:19:42 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=/hRiP9o9mbQtRk3l4tUF+ZtF4o0IMEwj3egbLBXyMoc=; b=WpZZbztnt5B7TngVCw8ptFQZ7y+94z0DUZK8TTYrASxrUTWbjtdEAbIhu4hx1YF/19 DytkBWKs9UhfctcxBpKOxSdMZqKwLuJl4q3mj/G42H6V6iq9Rdk2w24oLtIm8Y2lx/q9 a+J7dbvsbU8oVLacXcPECogmzguDFRsuEUPsMkY1q5oJlSCjQQgypZBB1vaK2PlCZRJC iGmwHPZyMuyotXiH4nvny+VvK0tXfZ0FX7Qq9FqYSdBVlFJ756EkPRoVb+WgkdU28YM5 2Tc5nSwgg4TAPpC08eJrP43Myx38/ANijOGedBT9Qoo4qD/G87eWbkXQfbyMmV8v7vZ4 u3lQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=/hRiP9o9mbQtRk3l4tUF+ZtF4o0IMEwj3egbLBXyMoc=; b=yaMQEYvjvMtxZjpbCV5Gf73Bia1Pi13ychnaOZ8riyS1/y48Jc/rStH7iWhdq9plRK ZDQLnWDhRHPQp8sQu3OENU/LTBDm5KfH1JbyTq5hEhrcT0LMa/u/YmBtKZyrWOK3Su3B vPxrWk38q9UDUF0RuNDCgP9OFsVblHD10PljwRD5+Jyasp74ZDB83DRrvoL/TN3nWHqD ClMtKOimGVvGPIyH71oDSJi9SyXieCS6POW8bQ1s2z0KpkZJY6V/z+oMAEAIl7NaH4ec v4zk/DrNoKZt2VB+qLSz4tQmYrBV5AN0b2ynVRs+rtPaf9hzA/Pz4LafsnviCWFewzRz rK4w== X-Gm-Message-State: AOAM530QBCPr5vh3RcTeFXkw5fuMfboDDl2cGqlHXwtRZwR43Ki/UcZi Tdaoa9qyCYvq+YiRg4c74Ppi7aWocFV+GQ== X-Google-Smtp-Source: ABdhPJxKkwFIXuLrctaaMDNdEmESNrkrAe3zMCvT87+YzcA4k/3netWf0noCnPLDOsHn717dRUpttg== X-Received: by 2002:a05:6e02:1a41:: with SMTP id u1mr715558ilv.203.1644963581223; Tue, 15 Feb 2022 14:19:41 -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 a15sm10758823ilj.21.2022.02.15.14.19.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 14:19:40 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH v3 6/7] net/ark: add memory write barriers in critical code paths Date: Tue, 15 Feb 2022 16:19:25 -0600 Message-Id: <20220215221926.409039-6-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215221926.409039-1-john.miller@atomicrules.com> References: <20220119191255.273988-ed.czeck@atomicrules.com> <20220215221926.409039-1-john.miller@atomicrules.com> 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 Add memory write barriers for read and wait status functions in ddm, udm and mpu. Signed-off-by: John Miller --- drivers/net/ark/ark_ddm.c | 1 + drivers/net/ark/ark_mpu.c | 1 + drivers/net/ark/ark_udm.c | 1 + 3 files changed, 3 insertions(+) diff --git a/drivers/net/ark/ark_ddm.c b/drivers/net/ark/ark_ddm.c index 2321371572..b16c739d50 100644 --- a/drivers/net/ark/ark_ddm.c +++ b/drivers/net/ark/ark_ddm.c @@ -55,6 +55,7 @@ ark_ddm_stop(struct ark_ddm_t *ddm, const int wait) int cnt = 0; ddm->cfg.command = 2; + rte_wmb(); while (wait && (ddm->cfg.stop_flushed & 0x01) == 0) { if (cnt++ > 1000) return 1; diff --git a/drivers/net/ark/ark_mpu.c b/drivers/net/ark/ark_mpu.c index 8160c1de7b..b8e94b6ed3 100644 --- a/drivers/net/ark/ark_mpu.c +++ b/drivers/net/ark/ark_mpu.c @@ -68,6 +68,7 @@ ark_mpu_reset(struct ark_mpu_t *mpu) int cnt = 0; mpu->cfg.command = MPU_CMD_RESET; + rte_wmb(); while (mpu->cfg.command != MPU_CMD_IDLE) { if (cnt++ > 1000) diff --git a/drivers/net/ark/ark_udm.c b/drivers/net/ark/ark_udm.c index 28c4500a2c..cb3cf5c941 100644 --- a/drivers/net/ark/ark_udm.c +++ b/drivers/net/ark/ark_udm.c @@ -34,6 +34,7 @@ ark_udm_stop(struct ark_udm_t *udm, const int wait) int cnt = 0; udm->cfg.command = 2; + rte_wmb(); while (wait && (udm->cfg.stop_flushed & 0x01) == 0) { if (cnt++ > 1000) From patchwork Tue Feb 15 22:19:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 107667 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 B56EEA00C5; Tue, 15 Feb 2022 23:20:05 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8C4B54115C; Tue, 15 Feb 2022 23:19:45 +0100 (CET) Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) by mails.dpdk.org (Postfix) with ESMTP id AC3094115D for ; Tue, 15 Feb 2022 23:19:42 +0100 (CET) Received: by mail-io1-f44.google.com with SMTP id h5so195707ioj.3 for ; Tue, 15 Feb 2022 14:19:42 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=TqwNAVDLNxYMp9aLyEXriU4nBIcDQZcM2SLn8oPCsb8=; b=Swh+HLi9e0F1350/WSqVHAHYqWrUoJKCRzvAy/eMwpnwWHsORpf8D1XXUFubDRhNyd 9Whz2tr24BkU4B265a+ENYCEk6oQfE4h4LZduYJIGCegG7deASPWG5APG+0mZYcd6uL1 cmBuZhbQmejY7q2iQHs4E3hWD8iUpZkb3NYawyZNkF3OwRJue3s4YSeZH40s533CapCR uWE8ha+rJa4tamtvFAmzp8A56Sr1LXtP58zUI0XZ3F5spScyrH8ABvMy9Z87tcq/O9AL UkUJsFsk6M+cVGB21PscCqiBozT0PFPMtyK5vozyUu0qw8xxzto31MaQNp14rT/XjaA4 9HJA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=TqwNAVDLNxYMp9aLyEXriU4nBIcDQZcM2SLn8oPCsb8=; b=Q9sGSZJNHseuYTcbGD7+y/dkkACeZg03vIzwl53y2U9ocxWROMd5KUQ1w9awPMJlgz C4ZOzadJLU1FdxpxGivezCxXpo6F9dJfCts2PzVhEXoUfBcJKHGKUF0EA6tfGzV4O570 YkUoUuCb+IQDKmGrEHjO8vwO4g3fMLUaTeUjTvN4bnAR8/4Vrewo09eXn1Rxj+TuCgDA 6Txg7+FGtZKlKW0g27NHcH1CkZw7IC0GbYonBgYo0kar+q05w9iXwEdOYyN22Evyl1tp +0GQv6xIXbUj57ubYEOqqJyGPXd843h6oP9Z6nrPAeXe+FgFVAfHl4DLcYinnge3/aHx CiIw== X-Gm-Message-State: AOAM532Z0+E6KrQf+aRrDTNwIPDxaUTXe4kF7EZxnRp1Zd52nWhNmZji UqkGgTeJ67hP8NkW9+9U2Jq2LCrfok5lgw== X-Google-Smtp-Source: ABdhPJz6ZKRb4lJnrBbDuQFWP/tyjhRYtNzl3q1KUKEkWxS+zsQCwtmKsuBUQAncvmEenZp9NNA5yA== X-Received: by 2002:a05:6638:d0e:: with SMTP id q14mr634828jaj.291.1644963581923; Tue, 15 Feb 2022 14:19:41 -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 a15sm10758823ilj.21.2022.02.15.14.19.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 14:19:41 -0800 (PST) From: John Miller To: dev@dpdk.org, ferruh.yigit@intel.com Cc: shepard.siegel@atomicrules.com, John Miller Subject: [PATCH v3 7/7] net/ark: add performance optimizations Date: Tue, 15 Feb 2022 16:19:26 -0600 Message-Id: <20220215221926.409039-7-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220215221926.409039-1-john.miller@atomicrules.com> References: <20220119191255.273988-ed.czeck@atomicrules.com> <20220215221926.409039-1-john.miller@atomicrules.com> 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 software register writes for hw optimization and performance fixes. Signed-off-by: John Miller --- drivers/net/ark/ark_udm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ark/ark_udm.c b/drivers/net/ark/ark_udm.c index cb3cf5c941..9ebed89627 100644 --- a/drivers/net/ark/ark_udm.c +++ b/drivers/net/ark/ark_udm.c @@ -33,6 +33,7 @@ ark_udm_stop(struct ark_udm_t *udm, const int wait) { int cnt = 0; + udm->setup.r0 = 0; udm->cfg.command = 2; rte_wmb(); @@ -71,6 +72,7 @@ ark_udm_reset(struct ark_udm_t *udm) void ark_udm_start(struct ark_udm_t *udm) { + udm->setup.r0 = 0x100; udm->cfg.command = 1; }