From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E3E9DA04B6; Thu, 17 Sep 2020 08:35:20 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B29931D52F; Thu, 17 Sep 2020 08:35:20 +0200 (CEST) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 7F86C1D519 for ; Thu, 17 Sep 2020 08:35:18 +0200 (CEST) Received: from mx1-us1.ppe-hosted.com (unknown [10.7.65.60]) by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id F071160073; Thu, 17 Sep 2020 06:35:17 +0000 (UTC) Received: from us4-mdac16-36.ut7.mdlocal (unknown [10.7.66.155]) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id EFB382009A; Thu, 17 Sep 2020 06:35:17 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx1-us1.ppe-hosted.com (unknown [10.7.66.30]) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 670231C0052; Thu, 17 Sep 2020 06:35:17 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id C00CC10006E; Thu, 17 Sep 2020 06:35:16 +0000 (UTC) Received: from ukex01.SolarFlarecom.com (10.17.10.4) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 17 Sep 2020 07:35:12 +0100 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 17 Sep 2020 07:35:12 +0100 Received: from ukv-loginhost.uk.solarflarecom.com (ukv-loginhost.uk.solarflarecom.com [10.17.10.39]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 08H6ZBan002469; Thu, 17 Sep 2020 07:35:11 +0100 Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1]) by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id D79DA1613A9; Thu, 17 Sep 2020 07:35:11 +0100 (BST) From: Andrew Rybchenko To: CC: Thomas Monjalon , David Marchand , Ferruh Yigit Date: Thu, 17 Sep 2020 07:34:26 +0100 Message-ID: <1600324483-23153-1-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1599556475-27820-1-git-send-email-arybchenko@solarflare.com> References: <1599556475-27820-1-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.6.1012-25670.003 X-TM-AS-Result: No-11.199700-8.000000-10 X-TMASE-MatchedRID: IEV00ZLOw+7bUSlFWXatlL9bzwD89thZE3EgF0+MVuB+SLLtNOiBhnjB aILWVRlCXOmsadtce2cGo3ZLl9NPAN7Jizf4VVgFuoibJpHRrFnpVMb1xnESMu4zRNkXfejYvGA usEuBHcGLBZGdXVFVzgSKekCrl3JgwUjZkc0O5lVoUArKobkzYl58+nV+cmDuLPpyjr41qWxdaO 8DxOlYWNuapxHU3APIAtQRi/LEqddIcWQy61ch+GpUakD4RzE+LPcgmI1Eektn4oVvIVnpkIIV2 4CuYj50E77jMlIjgBMUUZUcIrQXSTzCn0Lg6DUsA9lly13c/gFCieYsjWBj6eLsQIDmr3S5ZLfx stT58K3dy+E+4eJ1r4PJcV7pZHscAdgI1PXGN/MnEamhyVW/p3l2c9WreWzsmHjEz2gByy3rKDD x45bZf/d4F+hW30bceifz7OO6NtzdUZBJwRQLvvgo8BKl9ae5TXo3QMP2198H8UzOewTxw0b8K7 6pXB66Gz/3jhmCvFaAMuqetGVetnyef22ep6XYOwBXM346/+xE3XWrgOyBuoHZpNDLYZ1RzqNme z9p4iT55kjEnRAhmv39gjK4eFMT X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--11.199700-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.6.1012-25670.003 X-MDID: 1600324517-GeuRlbE-qEfh Subject: [dpdk-dev] [PATCH v2 00/17] net/sfc: factor out common driver library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Network and vDPA drivers share libefx. So, libefx should be moved to common drivers. DPDK adaptation of the MCDI interface may be shared as well. The new common driver name is sfc_efx since it a new home of libefx base driver. sfc_ prefix is used to make it clear that it is related to net/sfc (and vdpa/sfc in the future). Cc: Thomas Monjalon Cc: David Marchand Cc: Ferruh Yigit v2: - add patches to introduce LIBEFX_API and LIBEFX_INTERNAL global functions decorators - use LIBEFX_API for __rte_internal markup Andrew Rybchenko (17): net/sfc/base: add missing extern storage-class specifiers net/sfc/base: decorate libefx API functions net/sfc/base: decorate libefx internal extern functions net/sfc: include header with debug helpers directly net/sfc: introduce common driver library net/sfc: add dedicated header file with MCDI interface net/sfc: move MCDI helper interface to dedicated namespace net/sfc: make MCDI logging helper macros local net/sfc: start to make MCDI helpers interface shareable net/sfc: use own logging helper macros net/sfc: avoid usage of NIC pointer from adapter context net/sfc: avoid panic in the case of MCDI timeout net/sfc: add MCDI callbacks to allocate/free DMA memory net/sfc: add MCDI callback to schedule restart net/sfc: add MCDI callback to poll management event queue net/sfc: use MCDI control structure as libefx ops context net/sfc: move MCDI helpers to common driver MAINTAINERS | 1 + drivers/common/meson.build | 2 +- .../{net/sfc => common/sfc_efx}/base/README | 0 .../sfc => common/sfc_efx}/base/ef10_ev.c | 0 .../sfc => common/sfc_efx}/base/ef10_evb.c | 0 .../sfc => common/sfc_efx}/base/ef10_filter.c | 0 .../sfc_efx}/base/ef10_firmware_ids.h | 0 .../sfc => common/sfc_efx}/base/ef10_image.c | 0 .../sfc => common/sfc_efx}/base/ef10_impl.h | 250 +++++++++++-- .../sfc => common/sfc_efx}/base/ef10_intr.c | 0 .../sfc => common/sfc_efx}/base/ef10_mac.c | 0 .../sfc => common/sfc_efx}/base/ef10_mcdi.c | 0 .../sfc => common/sfc_efx}/base/ef10_nic.c | 0 .../sfc => common/sfc_efx}/base/ef10_nvram.c | 0 .../sfc => common/sfc_efx}/base/ef10_phy.c | 0 .../sfc => common/sfc_efx}/base/ef10_proxy.c | 0 .../sfc => common/sfc_efx}/base/ef10_rx.c | 0 .../sfc_efx}/base/ef10_signed_image_layout.h | 0 .../sfc_efx}/base/ef10_tlv_layout.h | 0 .../sfc => common/sfc_efx}/base/ef10_tx.c | 0 .../sfc => common/sfc_efx}/base/ef10_vpd.c | 0 .../{net/sfc => common/sfc_efx}/base/efx.h | 269 +++++++++++++- .../sfc => common/sfc_efx}/base/efx_annote.h | 0 .../sfc => common/sfc_efx}/base/efx_bootcfg.c | 0 .../sfc => common/sfc_efx}/base/efx_check.h | 13 + .../sfc => common/sfc_efx}/base/efx_crc32.c | 0 .../{net/sfc => common/sfc_efx}/base/efx_ev.c | 0 .../sfc => common/sfc_efx}/base/efx_evb.c | 0 .../sfc => common/sfc_efx}/base/efx_filter.c | 0 .../sfc => common/sfc_efx}/base/efx_hash.c | 0 .../sfc => common/sfc_efx}/base/efx_impl.h | 44 ++- .../sfc => common/sfc_efx}/base/efx_intr.c | 0 .../sfc => common/sfc_efx}/base/efx_lic.c | 0 .../sfc => common/sfc_efx}/base/efx_mac.c | 0 .../sfc => common/sfc_efx}/base/efx_mcdi.c | 0 .../sfc => common/sfc_efx}/base/efx_mcdi.h | 29 ++ .../sfc => common/sfc_efx}/base/efx_mon.c | 0 .../sfc => common/sfc_efx}/base/efx_nic.c | 0 .../sfc => common/sfc_efx}/base/efx_nvram.c | 0 .../sfc => common/sfc_efx}/base/efx_phy.c | 0 .../sfc => common/sfc_efx}/base/efx_phy_ids.h | 0 .../sfc => common/sfc_efx}/base/efx_port.c | 0 .../sfc => common/sfc_efx}/base/efx_proxy.c | 0 .../sfc => common/sfc_efx}/base/efx_regs.h | 0 .../sfc_efx}/base/efx_regs_ef10.h | 0 .../sfc_efx}/base/efx_regs_mcdi.h | 0 .../sfc_efx}/base/efx_regs_mcdi_aoe.h | 0 .../sfc_efx}/base/efx_regs_mcdi_strs.h | 0 .../sfc_efx}/base/efx_regs_pci.h | 0 .../{net/sfc => common/sfc_efx}/base/efx_rx.c | 0 .../sfc => common/sfc_efx}/base/efx_sram.c | 0 .../sfc => common/sfc_efx}/base/efx_tunnel.c | 0 .../{net/sfc => common/sfc_efx}/base/efx_tx.c | 0 .../sfc => common/sfc_efx}/base/efx_types.h | 0 .../sfc => common/sfc_efx}/base/efx_vpd.c | 0 .../sfc => common/sfc_efx}/base/hunt_impl.h | 1 + .../sfc => common/sfc_efx}/base/hunt_nic.c | 0 .../sfc => common/sfc_efx}/base/mcdi_mon.c | 0 .../sfc => common/sfc_efx}/base/mcdi_mon.h | 9 +- .../sfc_efx}/base/medford2_impl.h | 1 + .../sfc_efx}/base/medford2_nic.c | 0 .../sfc_efx}/base/medford_impl.h | 1 + .../sfc => common/sfc_efx}/base/medford_nic.c | 0 .../sfc => common/sfc_efx}/base/meson.build | 0 .../sfc => common/sfc_efx}/base/siena_flash.h | 0 .../sfc => common/sfc_efx}/base/siena_impl.h | 60 +++ .../sfc => common/sfc_efx}/base/siena_mac.c | 0 .../sfc => common/sfc_efx}/base/siena_mcdi.c | 0 .../sfc => common/sfc_efx}/base/siena_nic.c | 0 .../sfc => common/sfc_efx}/base/siena_nvram.c | 0 .../sfc => common/sfc_efx}/base/siena_phy.c | 0 .../sfc => common/sfc_efx}/base/siena_sram.c | 0 .../sfc => common/sfc_efx}/base/siena_vpd.c | 0 drivers/{net/sfc => common/sfc_efx}/efsys.h | 63 ++-- drivers/common/sfc_efx/meson.build | 40 ++ .../sfc_efx/rte_common_sfc_efx_version.map | 185 ++++++++++ drivers/common/sfc_efx/sfc_efx.c | 23 ++ drivers/common/sfc_efx/sfc_efx_debug.h | 29 ++ drivers/common/sfc_efx/sfc_efx_log.h | 22 ++ drivers/common/sfc_efx/sfc_efx_mcdi.c | 343 ++++++++++++++++++ drivers/common/sfc_efx/sfc_efx_mcdi.h | 77 ++++ drivers/net/sfc/meson.build | 6 +- drivers/net/sfc/sfc.c | 1 + drivers/net/sfc/sfc.h | 26 +- drivers/net/sfc/sfc_dp_tx.h | 1 + drivers/net/sfc/sfc_ef10.h | 2 + drivers/net/sfc/sfc_ef10_essb_rx.c | 1 + drivers/net/sfc/sfc_ef10_rx.c | 1 + drivers/net/sfc/sfc_ef10_rx_ev.h | 2 + drivers/net/sfc/sfc_ef10_tx.c | 1 + drivers/net/sfc/sfc_ethdev.c | 13 + drivers/net/sfc/sfc_filter.c | 1 + drivers/net/sfc/sfc_flow.c | 1 + drivers/net/sfc/sfc_log.h | 21 +- drivers/net/sfc/sfc_mcdi.c | 295 ++------------- drivers/net/sfc/sfc_port.c | 1 + 96 files changed, 1452 insertions(+), 383 deletions(-) rename drivers/{net/sfc => common/sfc_efx}/base/README (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_ev.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_evb.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_filter.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_firmware_ids.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_image.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_impl.h (89%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_intr.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_mac.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_mcdi.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_nic.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_nvram.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_phy.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_proxy.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_rx.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_signed_image_layout.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_tlv_layout.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_tx.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/ef10_vpd.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx.h (96%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_annote.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_bootcfg.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_check.h (97%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_crc32.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_ev.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_evb.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_filter.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_hash.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_impl.h (98%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_intr.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_lic.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_mac.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_mcdi.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_mcdi.h (96%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_mon.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_nic.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_nvram.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_phy.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_phy_ids.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_port.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_proxy.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_ef10.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_mcdi.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_mcdi_aoe.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_mcdi_strs.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_pci.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_rx.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_sram.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_tunnel.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_tx.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_types.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/efx_vpd.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/hunt_impl.h (98%) rename drivers/{net/sfc => common/sfc_efx}/base/hunt_nic.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/mcdi_mon.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/mcdi_mon.h (89%) rename drivers/{net/sfc => common/sfc_efx}/base/medford2_impl.h (97%) rename drivers/{net/sfc => common/sfc_efx}/base/medford2_nic.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/medford_impl.h (97%) rename drivers/{net/sfc => common/sfc_efx}/base/medford_nic.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/meson.build (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_flash.h (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_impl.h (90%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_mac.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_mcdi.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_nic.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_nvram.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_phy.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_sram.c (100%) rename drivers/{net/sfc => common/sfc_efx}/base/siena_vpd.c (100%) rename drivers/{net/sfc => common/sfc_efx}/efsys.h (93%) create mode 100644 drivers/common/sfc_efx/meson.build create mode 100644 drivers/common/sfc_efx/rte_common_sfc_efx_version.map create mode 100644 drivers/common/sfc_efx/sfc_efx.c create mode 100644 drivers/common/sfc_efx/sfc_efx_debug.h create mode 100644 drivers/common/sfc_efx/sfc_efx_log.h create mode 100644 drivers/common/sfc_efx/sfc_efx_mcdi.c create mode 100644 drivers/common/sfc_efx/sfc_efx_mcdi.h -- 2.17.1