From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0076.outbound.protection.outlook.com [104.47.38.76]) by dpdk.org (Postfix) with ESMTP id 998ADF94 for ; Tue, 12 Jul 2016 08:00:58 +0200 (CEST) Received: from BLUPR0301CA0001.namprd03.prod.outlook.com (10.162.113.139) by BLUPR0301MB1988.namprd03.prod.outlook.com (10.164.22.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.528.16; Tue, 12 Jul 2016 06:00:57 +0000 Received: from BN1BFFO11FD050.protection.gbl (2a01:111:f400:7c10::1:164) by BLUPR0301CA0001.outlook.office365.com (2a01:111:e400:5259::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.534.14 via Frontend Transport; Tue, 12 Jul 2016 06:00:57 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD050.mail.protection.outlook.com (10.58.145.5) with Microsoft SMTP Server (TLS) id 15.1.534.7 via Frontend Transport; Tue, 12 Jul 2016 06:00:56 +0000 Received: from Tophie.ap.freescale.net (Tophie.ap.freescale.net [10.232.14.199]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u6C60qWY006202; Mon, 11 Jul 2016 23:00:53 -0700 From: Shreyansh Jain To: CC: , , Date: Tue, 12 Jul 2016 11:31:05 +0530 Message-ID: <1468303282-2806-1-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1466510566-9240-1-git-send-email-shreyansh.jain@nxp.com> References: <1466510566-9240-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131127768569303935; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(86362001)(229853001)(8936002)(50986999)(76176999)(68736007)(48376002)(36756003)(85426001)(5003940100001)(87936001)(586003)(81166006)(5890100001)(2351001)(8676002)(11100500001)(77096005)(81156014)(50226002)(189998001)(6806005)(104016004)(305945005)(47776003)(97736004)(50466002)(356003)(106466001)(15395725005)(7846002)(92566002)(33646002)(19580395003)(2950100001)(110136002)(2906002)(4326007)(105606002)(15975445007); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0301MB1988; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD050; 1:ip1TlDZH24FWVT+ynL9CCH7EHaWdkzey+iG04ZDXZrfDyGlByKiO0HPpbjfKKOp4tH7lFGPC/aHoU3+eFMJb9b3d0mN8AWB6CbEegUxStULDDiigSQtLGLmOX1y2GO5ZXDJLv0DiFOJWf/Gmj1Lbs2Ll2ttDwFLw8YtZcoswF49ihtfVVWOfX3UED7PQ2yvsnslUl7hFFM6TvGT5AYcNVGXAdFeYUjNQCuuYbjm4tzsBuY1QlNoHJBleTHyeXd66+GtyS411nDSfGCILW4ylPohDjA640tXh0d4byvasp/5x/PsvKPvjUNiITwvQkEGKibnqELX47lhvESbjzQiDbgxrWiDDR/YtnJVN1VeYMYBjXZq4/lkOkoBiGbDZTnpB+znbqDDyGf7EwbrF54z84YGVTGCJpL5APklBkKKvQZGf+asgGU0o/2bpu94CBxgCc4Bu3EK33eA04LvpGyPdPvEcjIKdtRGv3sbYzCwCwhA1SVSPcm1Q3gln8zJir3SXpFxhzuJs8UzOHUhAt1KKTIifNnWeGlP3igPuasuAy363AwSb6eAUx4ukfAnhoj/tKz4lTPiZtAAEdYa4yAHkmoOUw2xQFoyCpSb1ppI+ogQX7OAS5kYTGp5N0IIJ98LL MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: ac5e374a-b1ea-448e-4887-08d3aa19e427 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB1988; 2:Oxb9ChfOB7D/It1Ii0qSGH5B1DGAfDKds8If8V2ILoslp7uj2SFfUmpXLdWPJFPxaVNoQjwrmHcoZ7pFDOtAhgpUrhtR5m7qkFUIhLNWDFCsaJaUvolRQ2jzk4hUdMy/gSnavXgMnoTsb0rZVzlKdfPEo00uioa/QvlWglSq1hsjz+VY7yn0dSotqVUqeSml; 3:xcCYInEOkJz0zBDzU33xIzh9Kj1EDEPE4iThO3NdjnhKcbbyJdBV+eNrcs7+keppMa8i7Iip1dkQZI3XX3qSock0TMH3JWNFqdt3ePbRGebtbUP/HCbAXi0qYDpw4bYAUlzx6VMYEbqXmTzkxr8yIF7SNp3jLLUyVhyc+1YG1qDtU1sw2qyfVFLtTeKa44XqIEXZtYzNGp+2rS8qtOR0rBkryQ3abtlajCHex2goO0E= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1988; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB1988; 25:ZnZRCsBu58JWZ1uaWjZxj+OTBmbEbj2DOQeeVQoFDusctPSBXV15X5riLV/CpGMfv5ju7Aqf9swUF7TOlnlvVPmAqvhgc0szgaX0KRkqDZjKh5/XPsw6irzy5BEt2Tl0ctCczBsiAOHG/xuPvOkr0lu9rV7ofnFnXF/pHiBMZdaBLau+2hGMVYm00BRwhzlnVeafYuJL1k9ELhPQlYP3g0TQFQ7SbeRyITu1vVLa44gXWw0lQZVVYvOWrLbxWxcamoN5eVgdBm1CKF5LvoxvkspAxAc3JcHa9Kv1qjuENx041xUArp4F3QTuojeTm5EJrBRTVaJz2VGN1qHWPL2CNkU7pdln/8Xq6nmPniimPEgfU/SXpe6z7II6gwNdkT9ELgpM1alLOCeYl4IKMkApqxgKGpfryUAiTDzvgz8adX+GXAZ3nELtA7U9patqiM5M8KG616eNv/EtWdkUtI8UX2QhpuN2YsO1gI2lMraEq8uRz45I0EklJ+MEqk+IneJpRzGH6uBn93dXre4FOd0U8jD8DgwX+f+t9kMYVuhmESQuFNNO6SDCLEGfmcXBQV3XDEiLka3Y+UDdI266uHO58N2jhpjdYP8fJLVYeOQMoDLz41fny71k5B1xOSe2/KwfHkesWiyz8ylUSEMfWk/jPe9ZPWham272SCXJl6oU3qn2M/enuR1cDE/k04elepv73yNZ/ZT+n3nqTpB06IFhOavFILwqMDhZRIT3NsXjq4Wz4BtEvVqfHbkF4SaCLUN/RtndjZT5qbX8ardBBprrNUpCaUAqChFrrnh3bev5thHY7YevjjJtbIR5TFl3qaABD50nyNsMxH7kgf8mjKfpvA== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB1988; 31:aNUDe0FjNRd74DaNd2EegrERHN9QH4KoLdmIt3QRAJSF10MWZquoYfBFSOx3KljqFuXQ8/3yxMh5Cdm6o8hoCYRy56ZTSqhsvNp2SmDx97VI7VPX/6m5xCKt6jdM163r3F+gFG3suh/rBKT1oowsLixHoh27xi00HFc/AILDvyDjILi8D5vYa0co4bgcKfgBzBT2taVsAhhHCeJTryh4/Q==; 4:8YlgEEsqZQ5172Z35mpnZaWS+npzvtiM77i51EvZgngO/nwP1uMyue/v4wXcpvT6oBBScdKehb1CN+w4oPTewiZI2QybUbL6NwODTc506QBhVLSOt8y4OSVz7VrML89eu6khcBZmQWYbssIQW1kl/oBgTF8RXu0NnpbBbX9UmM+hrHoVu4mu+sY8KM3GL3KBjrYFI9rJJoCOLdqzqux4pCKVCYCvgCS1YSJyCnXhV/sdl2qjIBxpiJzag/771Izcl9yadofDcM/j7GI/GQrFXloVtLmWxw3fiYNGXDLRW//WMLmNMW62SVHnbzvsg2lvJP7e2jjNEBXNjuLPHnJ0lZmlZfn+FFOqftBRsNhYbqYVxEnlVxQpZpUQ9bKFnvZ5DNI2k2ZgERvZf5XHKpR55bsXSvcvRzMJaxiTOX6LeiXTwjN2r4ZOUjYUNHPyFu9IfVJq41R0QqussJNBCywz3hw8XB3g58U4UbZbeUbkmaA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13015025)(13018025)(13024025)(13017025)(13023025)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:BLUPR0301MB1988; BCL:0; PCL:0; RULEID:(400006); SRVR:BLUPR0301MB1988; X-Forefront-PRVS: 0001227049 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0301MB1988; 23:rsC/8f4fG2VYZgW1iWB7ixGtwiaBm680/NvZZ4O?= =?us-ascii?Q?NnvnTDt6ZgBmUhc9v/a9KS1dd9N20UzVPacs5aK3hh8v8wy/FPYNzUfBe+dv?= =?us-ascii?Q?fEYvLTtU0MccJI0OtTxluWLDhfiWd1F5m/qWsjeXc3NNi92LunZcIpmIQRRX?= =?us-ascii?Q?FjU7ijI7kfvcIjGdCYFzfnMbu8TnJdgGeBJsLugn1Yf9DgYyl104q5vG4zpC?= =?us-ascii?Q?0iRW9CH88A/qECdhRbbX/z5z2TYz3CwvD2NZN9i9F7ay9h7rGtgyeurb5G60?= =?us-ascii?Q?vIUAmpDjeW88YfN0+jgxq9BdkyAcz7YJJp8aeKM2qqlTZ9wPoCV7Z8IWMg+R?= =?us-ascii?Q?wfsNGscUDz7RdZTR7q1DduaPN8yn7MuseHGYxJu9iuX5auD/IGg61uIdK+Ua?= =?us-ascii?Q?Y8fKzMLRbCqU978Q0J8j+KOMaI761RvBrwPsEwmDBOMOuTA3nN3Hb34p52o6?= =?us-ascii?Q?dRBOl8bnegnfFQ9No1HWMU1VAnH0/bj5VXAIXu2Cx+FlqEobQEk9yVYvALn7?= =?us-ascii?Q?/CNGvu1i15cISIxKegUScBDAtZBnyC6uUV0b21e2+dAHH++Dy41FhlqG1SV3?= =?us-ascii?Q?0Dnwt83ARaj5azZMP65R+UiSF0thlv2JTIbWbeDq/0ZmCaPfGHGQmWYZPcdR?= =?us-ascii?Q?5yzB6HhQBzEHRznxCnSOgM4A6Wb2TZC2X54Hw51b2UFhqSIjAl4d5UEME1cY?= =?us-ascii?Q?YTt12LyAKkuYVyCJwpWbEsgjIm+SRUYiBbqiZOdYaVUMp5HsbyR7wopSg7It?= =?us-ascii?Q?nbsviogyz3D8xLWi4ukF90Byhgd1wAWjBDeLAaYW2Z9O2w/tjdz7ESdT/KlO?= =?us-ascii?Q?nQZvDgWcqgbYhp6BYlUQKEwNL+G27J4dS53yPU+6PTV1n1uki/xhM6dqNF3a?= =?us-ascii?Q?2+zJqcLp4yCbzmpdlO6BdMNFA9kne0qYoSUXU45k3Cxxw2FW7i4AQRQxaHUg?= =?us-ascii?Q?JssSeZ7o416d/36V+ADkiuPEafFgFSb1L5XZmAGIRmNmnASR9l+vrKouTN6h?= =?us-ascii?Q?hqQd2JQeVdb8fHiQ8utbAYuAu3ZsKV/IiMkfmIQu0Nq6WC2J0Fxhv6UlPiTF?= =?us-ascii?Q?nH+zRUnr/sPK0ki00O/8E2zkiarY7oNtvyWm/E81wgWJkgrytV4qOrzSD7om?= =?us-ascii?Q?+RypVm4PZqL74rOm1aSFL+AlJrv6xZ+9ntEc64tBPk1CZ7lnF10bY3g=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0301MB1988; 6:4xrlk0QJ1MKvwgz2AweuEv7zqPKpI7zqgiUvkLNlb1dndKeGzH9xAsE74rPls65bOxMUhx52rehsyyCnyiaPtfIti60ixgMItkBD9iuDgHG76UsycLhyjq6hno/aGvemYD/VkN/0eEUH990MWsJPmzzDJIeWHwwVzlqMy884F+tymXtWnXRQRikIsHuNPkXw1e4/W93bY8sft5xBcaN5DqWdXnHwFVdu+5oFKjlfwl7rZPDMieFd/31Hoekiix0rLsosrJcb1+4BRSxUeWfouIFfQfS1qVPBypoqgm14uLU=; 5:w6WCrZtM8pShyQGxHz0bG8avDrqc0hBmY2+jHO+s4Aj8j5KI4T9+D3rwpaZScXkDAEyLKIk17X7dENKbtAEAWx80FrQxq7J0/JbU8QLnQ7BokNe3kvd/tqE0xuAFh0fKvgnAR/Lc3aqX/j72FSWoXMK3PzQeYZoNXNkTwVk3680=; 24:Af9fwRgyh8zMHL3fUWJa4F0KB0TdfD4tJomp6tza6alV3sjQWtij1STEfoqrPqMmtcKvMGmNIm+azNvq1vjkbstbjv4NQJp8iOP5INbPpug=; 7:Yn43CQYxvbHzI2A93EWzbG+1OGIWpsmMA3rYAUXeSa9Cyr9ryYlyFPgO3sy0LHJQAkiuYD7fyuwtOuvI5iFdSD4da3DjfkW2+XapTvvO5oZqmo5BpKjUKu+/CRiKPPadfd2KWgf+JCjKSzOYitDPeSw1XvguzP41FZen4OSYo1d47RAPV5bcbs4Iq9ATpsL3X/0Iz0361fjuFXD9x1cdCefoO3Dz5hSNFpn+VQry0QMNUD3rIksIBLgiE17TqKnO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2016 06:00:56.6183 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0301MB1988 Subject: [dpdk-dev] [PATCH v6 00/17] Prepare for rte_device / rte_driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jul 2016 06:00:59 -0000 * Original patch series is from David Marchand [1], [2]. * Link with patch series [4] from Jan Viktorin for a more complete picture of proposed EAL device heirarchy changes. * This might not be in-sync with pmdinfogen as PMD_REGISTER_DRIVER is removed [7]. David created the original patchset based on the discussions on list [3]. Being a large piece of work, this patchset introduces first level of changes for generalizing the driver-device relationship for supporting hotplug. This patchset is based on master (11c5e45d8) Overview of this work as per David [3], as well as notes from Thomas, Jan: - pdev -> PCI registeration using helpers (introduced in this series) - removal of eth/crypto driver registeration callbacks. These are now handled by PCI registeration helpers (this patch) - rte_device=>pci/vdev device heirarchy (by this [4] series) - removal of PMD_PDEV type (this patch) and PMD_VDEV (by this [4] series) - Support for hotplugging In [5], Neil had NACK'd previous series due to removal of symbol from map file without proper process. I continue with the same patch in this series as I was not clear after Thomas's reponse [6] whether it is OK to remove these (rte_cryptodev_pmd_driver_register, rte_eth_driver_register) or not - probably some procedure of deprecation that I am skipping. Changes since v5: - Rebase over master (11c5e45d8) - Rename RTE_EAL_PCI_REGISTER helper macro to DRIVER_REGISTER_PCI to be in sync with DRIVER_REGISTER_PCI_TABLE. [Probably, in future, both can be merged] - Modifications to bnxt and thunderx driver PMD registeration files for using the simplified PCI device registeration helper macro Changes since v4: - Fix compilation issue after rebase on HEAD (913154e) in previous series - Retain rte_eth_dev_get_port_by_name and rte_eth_dev_get_name_by_port which were removed by previous patchset. These are being used by pdump library Changes since v3: - rebase over HEAD (913154e) - Update arguments to RTE_EAL_PCI_REGISTER macro as per Jan's suggestion - modify qede driver to use RTE_EAL_PCI_REGISTER - Argument check in hotplug functions Changes since v2: - rebase over HEAD (d76c193) - Move SYSFS_PCI_DRIVERS macro to rte_pci.h to avoid compilation issue Changes since v1: - rebased on HEAD, new drivers should be okay - patches have been split into smaller pieces - RTE_INIT macro has been added, but in the end, I am not sure it is useful - device type has been removed from ethdev, as it was used only by hotplug - getting rid of pmd type in eal patch (patch 5 of initial series) has been dropped for now, we can do this once vdev drivers have been converted [1] http://dpdk.org/ml/archives/dev/2016-January/032387.html [2] http://dpdk.org/ml/archives/dev/2016-April/037686.html [3] http://dpdk.org/ml/archives/dev/2016-January/031390.html [4] http://dpdk.org/ml/archives/dev/2016-July/043645.html [5] http://dpdk.org/ml/archives/dev/2016-June/042439.html [6] http://dpdk.org/ml/archives/dev/2016-June/042444.html [7] http://dpdk.org/ml/archives/dev/2016-July/043172.html David Marchand, Shreyansh Jain (17): pci: no need for dynamic tailq init crypto: no need for a crypto pmd type drivers: align pci driver definitions eal: remove duplicate function declaration eal: introduce init macros crypto: export init/uninit common wrappers for pci drivers ethdev: export init/uninit common wrappers for pci drivers drivers: convert all pdev drivers as pci drivers crypto: get rid of crypto driver register callback ethdev: get rid of eth driver register callback eal/linux: move back interrupt thread init before setting affinity pci: add a helper for device name pci: add a helper to update a device ethdev: do not scan all pci devices on attach eal: add hotplug operations for pci and vdev ethdev: convert to eal hotplug ethdev: get rid of device type app/test/virtual_pmd.c | 2 +- drivers/crypto/qat/rte_qat_cryptodev.c | 18 +- drivers/net/af_packet/rte_eth_af_packet.c | 2 +- drivers/net/bnx2x/bnx2x_ethdev.c | 34 +-- drivers/net/bnxt/bnxt_ethdev.c | 16 +- drivers/net/bonding/rte_eth_bond_api.c | 2 +- drivers/net/cxgbe/cxgbe_ethdev.c | 24 +-- drivers/net/cxgbe/cxgbe_main.c | 2 +- drivers/net/e1000/em_ethdev.c | 16 +- drivers/net/e1000/igb_ethdev.c | 39 +--- drivers/net/ena/ena_ethdev.c | 19 +- drivers/net/enic/enic_ethdev.c | 23 +- drivers/net/fm10k/fm10k_ethdev.c | 23 +- drivers/net/i40e/i40e_ethdev.c | 24 +-- drivers/net/i40e/i40e_ethdev_vf.c | 25 +-- drivers/net/ixgbe/ixgbe_ethdev.c | 46 +--- drivers/net/mlx4/mlx4.c | 17 +- drivers/net/mlx5/mlx5.c | 16 +- drivers/net/mpipe/mpipe_tilegx.c | 2 +- drivers/net/nfp/nfp_net.c | 23 +- drivers/net/null/rte_eth_null.c | 2 +- drivers/net/pcap/rte_eth_pcap.c | 2 +- drivers/net/qede/qede_ethdev.c | 40 +--- drivers/net/ring/rte_eth_ring.c | 2 +- drivers/net/szedata2/rte_eth_szedata2.c | 24 +-- drivers/net/thunderx/nicvf_ethdev.c | 20 +- drivers/net/vhost/rte_eth_vhost.c | 2 +- drivers/net/virtio/virtio_ethdev.c | 25 +-- drivers/net/virtio/virtio_user_ethdev.c | 2 +- drivers/net/vmxnet3/vmxnet3_ethdev.c | 23 +- drivers/net/xenvirt/rte_eth_xenvirt.c | 2 +- examples/ip_pipeline/init.c | 22 -- lib/librte_cryptodev/rte_cryptodev.c | 67 ++---- lib/librte_cryptodev/rte_cryptodev.h | 2 - lib/librte_cryptodev/rte_cryptodev_pmd.h | 45 ++-- lib/librte_cryptodev/rte_cryptodev_version.map | 3 +- lib/librte_eal/bsdapp/eal/eal_pci.c | 52 ++++- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 + lib/librte_eal/common/eal_common_dev.c | 47 ++++ lib/librte_eal/common/eal_common_pci.c | 19 +- lib/librte_eal/common/eal_private.h | 20 +- lib/librte_eal/common/include/rte_dev.h | 29 ++- lib/librte_eal/common/include/rte_eal.h | 3 + lib/librte_eal/common/include/rte_pci.h | 36 ++++ lib/librte_eal/common/include/rte_tailq.h | 4 +- lib/librte_eal/linuxapp/eal/eal.c | 7 +- lib/librte_eal/linuxapp/eal/eal_pci.c | 16 +- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 + lib/librte_ether/rte_ethdev.c | 271 ++++-------------------- lib/librte_ether/rte_ethdev.h | 40 ++-- lib/librte_ether/rte_ether_version.map | 4 +- 51 files changed, 392 insertions(+), 816 deletions(-) -- 2.7.4