From patchwork Thu Mar 7 03:02:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Hai X-Patchwork-Id: 750 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 AC57D43B5E; Thu, 7 Mar 2024 04:07:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3DC1542DFA; Thu, 7 Mar 2024 04:07:07 +0100 (CET) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id 85E6440A6D for ; Thu, 7 Mar 2024 04:07:05 +0100 (CET) Received: from mail.maildlp.com (unknown [172.19.88.105]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4TqvLW2l3kzNlvB for ; Thu, 7 Mar 2024 11:05:23 +0800 (CST) Received: from kwepemd100004.china.huawei.com (unknown [7.221.188.31]) by mail.maildlp.com (Postfix) with ESMTPS id 433ED1400D4 for ; Thu, 7 Mar 2024 11:07:02 +0800 (CST) Received: from localhost.localdomain (10.67.165.2) by kwepemd100004.china.huawei.com (7.221.188.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Thu, 7 Mar 2024 11:07:01 +0800 From: Jie Hai To: CC: , , Subject: [PATCH v5 0/7] support dump reigser names and filter them Date: Thu, 7 Mar 2024 11:02:40 +0800 Message-ID: <20240307030247.599394-1-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20231214015650.3738578-1-haijie1@huawei.com> References: <20231214015650.3738578-1-haijie1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.67.165.2] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemd100004.china.huawei.com (7.221.188.31) 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 The registers can be dumped through the API rte_eth_dev_get_reg_info. However, only register values are exported, which is inconvenient for users to interpret. Therefore, an extension of the structure "rte_dev_reg_info" and a new API rte_eth_dev_get_reg_info_ext is added to support the capability of exporting the name of the corresponding register and filtering by names. The hns3 driver and telemetry are examples for that. --- v5: 1. fix version map. 2. fix comment on rte_eth_dev_get_reg_info_ext. 3. set RTE_ETH_REG_NAME_SIZE to 64. 4. fix default register name. 5. add support for reg_info->width == 8 in telemetry. 6. add memeory allocate fail log. 7. fix memory access for telemetry to store extra registers. v4: 1. fix mispellings. 2. add const to 'filter'. 3. remove redundant assigning. v3: 1. fix mispellings. 2. use snprintf instead of sprintf. 3. add more comment on rte_eth_dev_get_reg_info_ext. 4. add __rte_experimental. 5. add version map. v2: 1. fix compile error. 2. add new API to support it instead of the old one. 3. split patches on hns3 driver. Jie Hai (7): ethdev: support report register names and filter ethdev: add telemetry cmd for registers net/hns3: fix dump counter of registers net/hns3: remove dump format of registers net/hns3: add names for registers net/hns3: support filter directly accessed registers net/hns3: support filter dump of registers doc/guides/rel_notes/release_24_03.rst | 9 + drivers/net/hns3/hns3_regs.c | 1359 +++++++++++++++++++++--- lib/ethdev/rte_dev_info.h | 11 + lib/ethdev/rte_ethdev.c | 38 + lib/ethdev/rte_ethdev.h | 29 + lib/ethdev/rte_ethdev_telemetry.c | 158 +++ lib/ethdev/version.map | 1 + 7 files changed, 1432 insertions(+), 173 deletions(-)