From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2B9D243186; Tue, 17 Oct 2023 07:47:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C36FB427E1; Tue, 17 Oct 2023 07:46:41 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2095.outbound.protection.outlook.com [40.107.244.95]) by mails.dpdk.org (Postfix) with ESMTP id A946440DFD for ; Tue, 17 Oct 2023 07:46:39 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GjuqZeqDl0y0Jb0dmo3hI8bRFzYSba0TnYeRDHn3NkMznnrto/NVpBvfz7ESxmsAarheWKkbhmmVizk4VSrcjlj1Px9n85v2xAPwlqW/SLxNYHNztTb86x9Eso8vVcAeOW20kVpNJ/BCBC13VD59eU7H0z9Ka02e+AHS87+CgYCbCKk93UHkcCrRLZgxn3y3qn/wqs9+QvWhab/k+XLNUwnNmZr8AZoW7momQb1H+m46hqxHRxdpbP9eyL1n6vdiFyv5CkJyPLOC9LmZMfwejULKPlojwOnZLzy6FETsxscxynKnwN2i8qJbT/t6Wu510Op6fJdBzyr3je6ZLPiOXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3eGbDPhqLLIKbz2eLGD1WCZsDHcX8F9pMDKetA7y6Yg=; b=FDQI7pBrTl82l2wSc29dmXmIfKGUu9O9rdim9qVsi9jXOZTvCKdj1+QiLthUomyW9KQMgYG+KATlfkTTr7lcb9e7kuxRBeLOhbA0s2T2OHzjVDQAbNjz3qFhNFvNSx8jEPCiA0Odw07ziGLzK6Qjc0Luk0wLgzZh/7GfF7v+dWsHzZkKUtD8OIj1ZyrJktC8VOoKT8Dv2qgPRVAF7sJeEEIejlC/ux/eeWooMRd2k8moU5+rDx5JQYwBE/v/N8YyULf2Usxmm5EUQ84VFQ9KAPzqbOEIDGvESc7nUBmY8liKF1WdwfyDaGkCoqdWRqlAcb+RGqCva4O5GbaMNwthyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3eGbDPhqLLIKbz2eLGD1WCZsDHcX8F9pMDKetA7y6Yg=; b=px6Lg//qCELxLuCb8wRDDcZaOXlFRrIJZmeLlJAFilyuc//2tFEh9gFNbLfLKa/By6fRxpmumPslKM8KIMPlospk6FVHuwlQ7fW2wc0bJjY+o/9WdEuMXUAKkQd9zbJZ8Xwwjt9MgNLfGDQm6EhjomUF49IYOkoCDo1jwQkZR3g= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) by MW5PR13MB5904.namprd13.prod.outlook.com (2603:10b6:303:1ce::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.45; Tue, 17 Oct 2023 05:46:37 +0000 Received: from PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7]) by PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7%4]) with mapi id 15.20.6863.047; Tue, 17 Oct 2023 05:46:37 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 11/25] net/nfp: extract the MAC address data field Date: Tue, 17 Oct 2023 13:45:31 +0800 Message-Id: <20231017054545.1692509-12-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20231017054545.1692509-1-chaoyong.he@corigine.com> References: <20231017054545.1692509-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: PH7PR17CA0069.namprd17.prod.outlook.com (2603:10b6:510:325::29) To PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB5568:EE_|MW5PR13MB5904:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ed0d223-fbbf-49c4-0ed4-08dbced46d54 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KvpSuyLAaCn0WzOHeUXxmxNHLkFi58qmVccPy6M5Xv7IUgsNeOaRLM2m5QAqq+Mr+LrtCIBmXXcaWv9iAzsiaimPaz+KNNhKhl/gBKMKIyRZhMifDCSe5b3eLRHsZygpdBavuYjQi5fqE8BpdNxMpTar6pWGIinqsB20D/KT1Qopz3uEuElTOc70/bhhb3QjM8/TcfMAdWyZtSLeSnN6csGerBArVtw3Z++1Wy0tA7QEg4FqYSGKOFNY/vEywxWYfgZqSSuyE1eQcweTAZdJK6BnAd4vp+jsML3fno5QPzBBBwx5t2xznxQp1pofyWw5joBcm9yMa6fUMDTO+TYziVCb9x3I+32pkjSGeNTiIWSv97GPOrhiMIL9nZgSKGwNWSAiKhcP/APGYXQn1qlrkQZTbdxriGmf3WgGTAHDhCaf96tdqzS6iUL79tWbIf4hI+0YYX9prj4pcvWHLLiSVj7Kg5U7cweAugQzrgLQNd3JBS1JLD7kVwXSUFSu3Pi1MlEGSxSKDRsHLKMfylFbwdw/VSjIBuXcysQ+0UwOCRVb4Ln38FRvPhXNyXOuWBhLtDko2vqh6c5q9NuteciQQGnuBwKxtm7bvLGnsgfkp6VuxUHLUpBRTd3H+FFmS2SU6dWqG88zrRBNQ3CkWOCB6EqxD4YbzYqpPigQNlDV4qI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR13MB5568.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(366004)(376002)(39830400003)(346002)(396003)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(2906002)(5660300002)(8936002)(8676002)(83380400001)(66556008)(66476007)(6916009)(316002)(66946007)(54906003)(41300700001)(478600001)(4326008)(6486002)(44832011)(6666004)(6512007)(6506007)(107886003)(38350700005)(2616005)(1076003)(26005)(36756003)(38100700002)(52116002)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/ty5huAFAq5iRngRSf17cCt9rSQCinW/wjQenhWuMS1WaDydOnVcYs4DPSF9?= =?us-ascii?Q?IQFLb4N5KJ0yPXrj6a8pazISUv/U2SOcMyEKMszhV5Lk9D8NScUoge0LbjsK?= =?us-ascii?Q?HTWgD3h6hIpk2RfI6EwadFhhGnJrYNEuDNDVyRPj3JQErFv8hFwdydM4ux0Q?= =?us-ascii?Q?Os4ogAaHegZV+rIYUjp+c7uUNut9MyxMPd9EmBtRXkzPqWSY64eDPW09JB7N?= =?us-ascii?Q?/sRZZ9UFZM7jUUCyH5z35Bjev8PkXbX57foidkEIpHtSspshEmZedLqT6DTe?= =?us-ascii?Q?WzsPtCYPKc3XQCmR21cswCYosZavRJ7QZpnySQENER1wsr1HZV/PnY3lFFcB?= =?us-ascii?Q?T2rEMUW85e209rMX7W0MoY6eZECRImTzJZUJKqI8Q983ruGdeMkLz3Z0wcdC?= =?us-ascii?Q?ZlJRwn60ptjCjjmxyR4fpV0cxEwIwYoNNsUyFMNGJwDBXEXlPuaFsgIfsjBg?= =?us-ascii?Q?dvPyrHIfJsNnqlGI3t7Y8o4AApyCFOW6hGzOkEHyFd/mh7S/S6ZrKfFVEOIh?= =?us-ascii?Q?lQwoJuxYumWHAKXoK2TAIu/St60OJtkan0WQCEt4YNMGCUFslQOGU82kTWbE?= =?us-ascii?Q?mzCriLHFykqVbqfMYwm2BMWZcn6j8kh+7B9CTg/DD+WWRmgL/BE5il6o4Zx+?= =?us-ascii?Q?tdWMgL+mz0bMavaMHvBcEq+SItl1AiPd1ISLj0fpT8h/xJN1P6kWvc/P3maP?= =?us-ascii?Q?9TlgvcPeQgxU6J56Sv5mhuJoTbXLtCKIPLR44Crqsalkco4KC5ym07dHxFjX?= =?us-ascii?Q?x2lW9uBAcyiftyXBWJILjnZF16qYMwb734c8rYgq5b+4e6RcTpZz03aeIXnE?= =?us-ascii?Q?9n5FRVUMxsbsxFD8hLJYlbTviFZhTjS6mKa22PqCF/p74HtD9BSbc8s1AMFD?= =?us-ascii?Q?Zs4H2qsD9G4CorG7eyNV1wOx7UFJ8G7+z4owdRZpShx6VS2U+OaNbyr78wy5?= =?us-ascii?Q?FFw/gDjuJP5sD75vQCOGvlELvL2lFlJv2E2D8OhE9NLv3bvClDQDPBHVl3fi?= =?us-ascii?Q?1pzxKZ9UmhDnraj2PNQnG15k+mxRy2NQWKGTGuR8ZBFnAOTgW77R7FUG7gnK?= =?us-ascii?Q?DmI+QKBp1hFUx7f6Y/yzkNbWqTFZqFZREw/yc+Rhz49/WEjjN08BGR/0IQdX?= =?us-ascii?Q?tnnNeQgF51zwldxkDf7Gc8zdj9hq5rJSQRHKc6hjOx9GpDY6h3IEbYYx3Zg7?= =?us-ascii?Q?ruraKuwYyYMizMVCv80zBOv3ny9fqAc//QMys5lc89hwy5DOXQQhhfo4dCQT?= =?us-ascii?Q?zp7ADllV6SPOMi6aU73BEjdckBLiiOKO4jN6i8+iseGu2I5SFwRwW/B22MrG?= =?us-ascii?Q?6IyOr5dyvqDrwSvdZQ8ECEsbCaNCfW9uKGFbR6Xc4eHtGMw8Qrg7w2R3aH8A?= =?us-ascii?Q?QoJSBkcm81RVP8XOsGMLcSW0N2Qe9tnyc5jVCpg6dMUouWkyC6P0GBG9xPVh?= =?us-ascii?Q?sAZ/pdOwDOC7Efm3vweJi33o6nCQUWETtjTfRBficN3JM3ErhVtFPjy/QZvX?= =?us-ascii?Q?1H5/DSwV6sAAViVXeUiF7IRYg2zztlp89l7vpjwyvYIBAtEf5oZXmYFR6qf7?= =?us-ascii?Q?7Us54iUkG+3sz6rUplDT7IEV3Rg6bmZk1rl1louqaNvHBaI51+QcrYtg/Zna?= =?us-ascii?Q?dQ=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ed0d223-fbbf-49c4-0ed4-08dbced46d54 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB5568.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2023 05:46:37.5648 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PLtawgrVzEVDEJteQDXpiSXTfHmw2spx4xpfvRMNaU2pONz75yaxCh2W6lUV62LvA9nN0jJ2hWxZGCxvmDfCUSh5swur3J2OudiFSOX1byU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR13MB5904 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 Extract the 'mac_addr' data filed into the super class, prepare for the upcoming common library. Signed-off-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/net/nfp/nfp_ethdev.c | 14 +++++++------- drivers/net/nfp/nfp_ethdev_vf.c | 18 +++++++++--------- drivers/net/nfp/nfp_net_common.c | 8 ++++---- drivers/net/nfp/nfp_net_common.h | 5 ++--- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c index 2f8df1c936..afa3a37763 100644 --- a/drivers/net/nfp/nfp_ethdev.c +++ b/drivers/net/nfp/nfp_ethdev.c @@ -33,7 +33,7 @@ nfp_net_pf_read_mac(struct nfp_app_fw_nic *app_fw_nic, nfp_eth_table = nfp_eth_read_ports(app_fw_nic->pf_dev->cpp); - rte_ether_addr_copy(&nfp_eth_table->ports[port].mac_addr, &hw->mac_addr); + rte_ether_addr_copy(&nfp_eth_table->ports[port].mac_addr, &hw->super.mac_addr); free(nfp_eth_table); @@ -598,18 +598,18 @@ nfp_net_init(struct rte_eth_dev *eth_dev) } nfp_net_pf_read_mac(app_fw_nic, port); - nfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]); + nfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]); - tmp_ether_addr = &hw->mac_addr; + tmp_ether_addr = &hw->super.mac_addr; if (rte_is_valid_assigned_ether_addr(tmp_ether_addr) == 0) { PMD_INIT_LOG(INFO, "Using random mac address for port %d", port); /* Using random mac addresses for VFs */ - rte_eth_random_addr(&hw->mac_addr.addr_bytes[0]); - nfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]); + rte_eth_random_addr(&hw->super.mac_addr.addr_bytes[0]); + nfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]); } /* Copying mac address to DPDK eth_dev struct */ - rte_ether_addr_copy(&hw->mac_addr, eth_dev->data->mac_addrs); + rte_ether_addr_copy(&hw->super.mac_addr, eth_dev->data->mac_addrs); if ((hw->super.cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0) eth_dev->data->dev_flags |= RTE_ETH_DEV_NOLIVE_MAC_ADDR; @@ -620,7 +620,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev) "mac=" RTE_ETHER_ADDR_PRT_FMT, eth_dev->data->port_id, pci_dev->id.vendor_id, pci_dev->id.device_id, - RTE_ETHER_ADDR_BYTES(&hw->mac_addr)); + RTE_ETHER_ADDR_BYTES(&hw->super.mac_addr)); /* Registering LSC interrupt handler */ rte_intr_callback_register(pci_dev->intr_handle, diff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c index 6ead7e02b8..dead6ca5ab 100644 --- a/drivers/net/nfp/nfp_ethdev_vf.c +++ b/drivers/net/nfp/nfp_ethdev_vf.c @@ -16,14 +16,14 @@ #include "nfp_net_common.h" static void -nfp_netvf_read_mac(struct nfp_net_hw *hw) +nfp_netvf_read_mac(struct nfp_hw *hw) { uint32_t tmp; - tmp = rte_be_to_cpu_32(nn_cfg_readl(&hw->super, NFP_NET_CFG_MACADDR)); + tmp = rte_be_to_cpu_32(nn_cfg_readl(hw, NFP_NET_CFG_MACADDR)); memcpy(&hw->mac_addr.addr_bytes[0], &tmp, 4); - tmp = rte_be_to_cpu_32(nn_cfg_readl(&hw->super, NFP_NET_CFG_MACADDR + 4)); + tmp = rte_be_to_cpu_32(nn_cfg_readl(hw, NFP_NET_CFG_MACADDR + 4)); memcpy(&hw->mac_addr.addr_bytes[4], &tmp, 2); } @@ -332,16 +332,16 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev) goto dev_err_ctrl_map; } - nfp_netvf_read_mac(hw); - if (rte_is_valid_assigned_ether_addr(&hw->mac_addr) == 0) { + nfp_netvf_read_mac(&hw->super); + if (rte_is_valid_assigned_ether_addr(&hw->super.mac_addr) == 0) { PMD_INIT_LOG(INFO, "Using random mac address for port %hu", port); /* Using random mac addresses for VFs */ - rte_eth_random_addr(&hw->mac_addr.addr_bytes[0]); - nfp_net_write_mac(hw, &hw->mac_addr.addr_bytes[0]); + rte_eth_random_addr(&hw->super.mac_addr.addr_bytes[0]); + nfp_net_write_mac(&hw->super, &hw->super.mac_addr.addr_bytes[0]); } /* Copying mac address to DPDK eth_dev struct */ - rte_ether_addr_copy(&hw->mac_addr, eth_dev->data->mac_addrs); + rte_ether_addr_copy(&hw->super.mac_addr, eth_dev->data->mac_addrs); if ((hw->super.cap & NFP_NET_CFG_CTRL_LIVE_ADDR) == 0) eth_dev->data->dev_flags |= RTE_ETH_DEV_NOLIVE_MAC_ADDR; @@ -352,7 +352,7 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev) "mac=" RTE_ETHER_ADDR_PRT_FMT, port, pci_dev->id.vendor_id, pci_dev->id.device_id, - RTE_ETHER_ADDR_BYTES(&hw->mac_addr)); + RTE_ETHER_ADDR_BYTES(&hw->super.mac_addr)); if (rte_eal_process_type() == RTE_PROC_PRIMARY) { /* Registering LSC interrupt handler */ diff --git a/drivers/net/nfp/nfp_net_common.c b/drivers/net/nfp/nfp_net_common.c index 94d9072740..cd199b1d4e 100644 --- a/drivers/net/nfp/nfp_net_common.c +++ b/drivers/net/nfp/nfp_net_common.c @@ -532,19 +532,19 @@ nfp_net_cfg_queue_setup(struct nfp_net_hw *hw) } void -nfp_net_write_mac(struct nfp_net_hw *hw, +nfp_net_write_mac(struct nfp_hw *hw, uint8_t *mac) { uint32_t mac0; uint16_t mac1; mac0 = *(uint32_t *)mac; - nn_writel(rte_cpu_to_be_32(mac0), hw->super.ctrl_bar + NFP_NET_CFG_MACADDR); + nn_writel(rte_cpu_to_be_32(mac0), hw->ctrl_bar + NFP_NET_CFG_MACADDR); mac += 4; mac1 = *(uint16_t *)mac; nn_writew(rte_cpu_to_be_16(mac1), - hw->super.ctrl_bar + NFP_NET_CFG_MACADDR + 6); + hw->ctrl_bar + NFP_NET_CFG_MACADDR + 6); } int @@ -565,7 +565,7 @@ nfp_net_set_mac_addr(struct rte_eth_dev *dev, } /* Writing new MAC to the specific port BAR address */ - nfp_net_write_mac(net_hw, (uint8_t *)mac_addr); + nfp_net_write_mac(hw, (uint8_t *)mac_addr); update = NFP_NET_CFG_UPDATE_MACADDR; ctrl = hw->ctrl; diff --git a/drivers/net/nfp/nfp_net_common.h b/drivers/net/nfp/nfp_net_common.h index 02ec854498..02a5ffefd8 100644 --- a/drivers/net/nfp/nfp_net_common.h +++ b/drivers/net/nfp/nfp_net_common.h @@ -118,6 +118,7 @@ struct nfp_hw { uint32_t cap; uint32_t ctrl; /**< Current values for control */ rte_spinlock_t reconfig_lock; + struct rte_ether_addr mac_addr; }; struct nfp_net_hw { @@ -158,8 +159,6 @@ struct nfp_net_hw { uint16_t subsystem_device_id; uint16_t subsystem_vendor_id; - struct rte_ether_addr mac_addr; - /** Records starting point for counters */ struct rte_eth_stats eth_stats_base; struct rte_eth_xstat *eth_xstats_base; @@ -375,7 +374,7 @@ void nfp_net_log_device_information(const struct nfp_net_hw *hw); void nfp_net_enable_queues(struct rte_eth_dev *dev); void nfp_net_disable_queues(struct rte_eth_dev *dev); void nfp_net_params_setup(struct nfp_net_hw *hw); -void nfp_net_write_mac(struct nfp_net_hw *hw, uint8_t *mac); +void nfp_net_write_mac(struct nfp_hw *hw, uint8_t *mac); int nfp_net_set_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr); int nfp_configure_rx_interrupt(struct rte_eth_dev *dev, struct rte_intr_handle *intr_handle); -- 2.39.1