From patchwork Wed Oct 26 19:46:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Miller X-Patchwork-Id: 119169 X-Patchwork-Delegate: maxime.coquelin@redhat.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 75328A04FD; Wed, 26 Oct 2022 21:46:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 84A7042836; Wed, 26 Oct 2022 21:46:37 +0200 (CEST) Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) by mails.dpdk.org (Postfix) with ESMTP id 86F8D4281B for ; Wed, 26 Oct 2022 21:46:34 +0200 (CEST) Received: by mail-io1-f44.google.com with SMTP id q75so4714713iod.7 for ; Wed, 26 Oct 2022 12:46:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=atomicrules-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1doBRfFVSwgt+ia96Mh9rhdGTfho9s28aylezOj4KTI=; b=ZrSmo35wdJzEJvNQHNFZxa1iOjz1kNiku91PdIXWugL4WNxiHPwJ63fFeyek7+ZeYS L/exGIAo4ehOIvjtoN/7OEP0JnmUYRNzHRKI28v3NfRzyOofiMu5OfxP9LsubzeybBcb OagdG9fErjK817vJQ88dn7DLzVQ00ciUiOCmpUhAbijs+H2lIcXlb+ZS4aLY4PgfACGJ x1xExeuVGTbRxDEd70S3che1cVT04Qn6ZMPVv3Aw5JkqKIoBLLCRnQGwMln9fJd8Fwcc Kz9I0Sp2zKEeM8xjtcCskeqPYbfB4at2U3SMaccIsYVXNvG9KjNbe0vweOlt3HI9Rfw2 LU3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1doBRfFVSwgt+ia96Mh9rhdGTfho9s28aylezOj4KTI=; b=k7dzRYJSu5xdOSv01N+vyr9dDv+ZR69xi91ZRQTeA5Jj5AMQRLS42G+EuxhIQCfZeo 4sWYCHy7z6q2tFuU4T17D733E8QA+z2cvKLVYAQL6CrA6gXpEaarIb0v/ZN5UiyhaA8X zFYZxTqcvwcyb/NEEKUIRXMczx6vr9NxnhemZhufiskGOcp0VnrI/HjELEvbS6CFmbXZ DgyqyaGUjK5OBeKemh04S20ZbYJrzT5tkuKzwtc9A4UBHQgCRXHMPfn5KimqSKP2i/H7 /ZxDo0ATuEy3bI2/j5JUKBH9hBmTS8t526+9K2kP+WLwNl94KY/9fwjIAdWD5d37qEXJ y8CQ== X-Gm-Message-State: ACrzQf1umxD0WsJMxf/TXm7jRtMxyEwQC2mAtuh/2GLym6GIbm/fVFSz M2tFJDXUL/8I93/P+iWx+ayJZw== X-Google-Smtp-Source: AMsMyM7LjOn92zSxkyr5wsYxTUanvRP3ZLtwzfbNSypGrehPZqLQVsIM6Xwl2CTIlowHWHRbq4wjwA== X-Received: by 2002:a05:6638:d11:b0:375:1ba7:bb11 with SMTP id q17-20020a0566380d1100b003751ba7bb11mr1593836jaj.28.1666813593951; Wed, 26 Oct 2022 12:46:33 -0700 (PDT) Received: from john-System-Product-Name.tds (h64-35-205-155.cntcnh.broadband.dynamic.tds.net. [64.35.205.155]) by smtp.googlemail.com with ESMTPSA id m1-20020a056e020de100b002faecf63c48sm2336169ilj.79.2022.10.26.12.46.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Oct 2022 12:46:33 -0700 (PDT) From: John Miller To: nicolas.chautru@intel.com Cc: dev@dpdk.org, ed.czeck@atomicrules.com, shepard.siegel@atomicrules.com, John Miller Subject: [PATCH 03/14] common/ark: move common files to common subdirectory Date: Wed, 26 Oct 2022 15:46:02 -0400 Message-Id: <20221026194613.1008232-3-john.miller@atomicrules.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221026194613.1008232-1-john.miller@atomicrules.com> References: <20221026194613.1008232-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 common ark files to drivers/common directory in preparation to support Arkville baseband device. Signed-off-by: John Miller --- drivers/common/ark/ark_common.c | 9 ++++ drivers/common/ark/ark_common.h | 47 ++++++++++++++++ drivers/common/ark/meson.build | 19 +++++++ drivers/common/ark/version.map | 95 +++++++++++++++++++++++++++++++++ 4 files changed, 170 insertions(+) create mode 100644 drivers/common/ark/ark_common.c create mode 100644 drivers/common/ark/ark_common.h create mode 100644 drivers/common/ark/meson.build create mode 100644 drivers/common/ark/version.map diff --git a/drivers/common/ark/ark_common.c b/drivers/common/ark/ark_common.c new file mode 100644 index 0000000000..abc169fd14 --- /dev/null +++ b/drivers/common/ark/ark_common.c @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2020-2021 Atomic Rules LLC + */ + +#include "ark_common.h" + +int ark_common_logtype; + +RTE_LOG_REGISTER_DEFAULT(ark_common_logtype, NOTICE); diff --git a/drivers/common/ark/ark_common.h b/drivers/common/ark/ark_common.h new file mode 100644 index 0000000000..ba4c70f804 --- /dev/null +++ b/drivers/common/ark/ark_common.h @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2015-2018 Atomic Rules LLC + */ + +#ifndef _ARK_COMMON_H_ +#define _ARK_COMMON_H_ + +#include +#include + +/* system camel case definition changed to upper case */ +#define PRIU32 PRIu32 +#define PRIU64 PRIu64 + +/* Atomic Rules vendor id */ +#define AR_VENDOR_ID 0x1d6c + +/* + * 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} } + +/* Format specifiers for string data pairs */ +#define ARK_SU32 "\n\t%-20s %'20" PRIU32 +#define ARK_SU64 "\n\t%-20s %'20" PRIU64 +#define ARK_SU64X "\n\t%-20s %#20" PRIx64 +#define ARK_SPTR "\n\t%-20s %20p" + +extern int ark_common_logtype; +#define ARK_PMD_LOG(level, fmt, args...) \ + rte_log(RTE_LOG_ ##level, ark_common_logtype, "ARK_COMMON: " fmt, ## args) + +#endif diff --git a/drivers/common/ark/meson.build b/drivers/common/ark/meson.build new file mode 100644 index 0000000000..a54acf5e3a --- /dev/null +++ b/drivers/common/ark/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2019 Mellanox Technologies, Ltd + +if is_windows + build = false + reason = 'not supported on Windows' + subdir_done() +endif + +sources += files( + 'ark_ddm.c', + 'ark_common.c', + 'ark_mpu.c', + 'ark_pktchkr.c', + 'ark_pktdir.c', + 'ark_pktgen.c', + 'ark_rqp.c', + 'ark_udm.c' +) diff --git a/drivers/common/ark/version.map b/drivers/common/ark/version.map new file mode 100644 index 0000000000..74d9f4b668 --- /dev/null +++ b/drivers/common/ark/version.map @@ -0,0 +1,95 @@ +DPDK_22 { + local: *; +}; + +INTERNAL { + global: + + ark_api_num_queues; + ark_api_num_queues_per_port; + + ark_ddm_dump_stats; + ark_ddm_queue_byte_count; + ark_ddm_queue_pkt_count; + ark_ddm_queue_reset_stats; + ark_ddm_stats_reset; + ark_ddm_verify; + + ark_mpu_configure; + ark_mpu_dump; + ark_mpu_dump_setup; + ark_mpu_reset; + ark_mpu_start; + ark_mpu_stop; + ark_mpu_verify; + + ark_pktchkr_dump_stats; + ark_pktchkr_get_pkts_sent; + ark_pktchkr_init; + ark_pktchkr_is_running; + ark_pktchkr_parse; + ark_pktchkr_run; + ark_pktchkr_set_dst_mac_addr; + ark_pktchkr_set_eth_type; + ark_pktchkr_set_hdr_dW; + ark_pktchkr_set_num_pkts; + ark_pktchkr_set_payload_byte; + ark_pktchkr_set_pkt_size_incr; + ark_pktchkr_set_pkt_size_max; + ark_pktchkr_set_pkt_size_min; + ark_pktchkr_set_src_mac_addr; + ark_pktchkr_setup; + ark_pktchkr_stop; + ark_pktchkr_stopped; + ark_pktchkr_uninit; + ark_pktchkr_wait_done; + ark_pktdir_init; + ark_pktdir_setup; + ark_pktdir_stall_cnt; + ark_pktdir_status; + ark_pktdir_uninit; + + ark_pktgen_get_pkts_sent; + ark_pktgen_init; + ark_pktgen_is_gen_forever; + ark_pktgen_is_running; + ark_pktgen_parse; + ark_pktgen_pause; + ark_pktgen_paused; + ark_pktgen_reset; + ark_pktgen_run; + ark_pktgen_set_dst_mac_addr; + ark_pktgen_set_eth_type; + ark_pktgen_set_hdr_dW; + ark_pktgen_set_num_pkts; + ark_pktgen_set_payload_byte; + ark_pktgen_set_pkt_size_incr; + ark_pktgen_set_pkt_size_max; + ark_pktgen_set_pkt_size_min; + ark_pktgen_set_pkt_spacing; + ark_pktgen_set_src_mac_addr; + ark_pktgen_set_start_offset; + ark_pktgen_setup; + ark_pktgen_tx_done; + ark_pktgen_uninit; + ark_pktgen_wait_done; + + ark_rqp_dump; + ark_rqp_lasped; + ark_rqp_stats_reset; + + ark_udm_bytes; + ark_udm_configure; + ark_udm_dropped; + ark_udm_dump_queue_stats; + ark_udm_dump_setup; + ark_udm_dump_stats; + ark_udm_packets; + ark_udm_queue_enable; + ark_udm_queue_stats_reset; + ark_udm_verify; + ark_udm_write_addr; + ark_pktgen_delay_start; + + local: *; +};