From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0044.outbound.protection.outlook.com [104.47.38.44]) by dpdk.org (Postfix) with ESMTP id C92DA2BDE for ; Mon, 1 Aug 2016 12:44:44 +0200 (CEST) Received: from BN3PR0301CA0018.namprd03.prod.outlook.com (10.160.180.156) by SN1PR0301MB2061.namprd03.prod.outlook.com (10.163.226.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Mon, 1 Aug 2016 10:44:39 +0000 Received: from BL2FFO11FD041.protection.gbl (2a01:111:f400:7c09::106) by BN3PR0301CA0018.outlook.office365.com (2a01:111:e400:4000::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15 via Frontend Transport; Mon, 1 Aug 2016 10:44:39 +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 BL2FFO11FD041.mail.protection.outlook.com (10.173.161.137) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.549.5 via Frontend Transport; Mon, 1 Aug 2016 10:44:40 +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 u71Aibjg018422; Mon, 1 Aug 2016 03:44:38 -0700 From: Shreyansh Jain To: CC: , Date: Mon, 1 Aug 2016 16:15:15 +0530 Message-ID: <1470048332-27318-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: 131145218807006548; (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)(199003)(189002)(7846002)(15975445007)(97736004)(76176999)(11100500001)(68736007)(575784001)(50986999)(2950100001)(4326007)(2906002)(305945005)(110136002)(86362001)(92566002)(85426001)(356003)(47776003)(5890100001)(77096005)(48376002)(104016004)(105606002)(229853001)(19580395003)(15395725005)(33646002)(8936002)(2351001)(81156014)(106466001)(81166006)(5003940100001)(8676002)(189998001)(36756003)(50226002)(50466002)(586003)(87936001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0301MB2061; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD041; 1:A7+BGK2jvkjMshLlZkdMgfp7KxtTVHrOxzhOL6UxhGVn8bwmCnez3epgja/gtgflSIAHvvmlcc9Koz0dlwaGcBHkHWXjoQydtoY+wdEX0TtXy6FhaIhlbTBurAbs/jNHPMFThdwdOgkJhXAU3qBRejUwlnxx60g94fwqyMvEiACqqQhDs8v+gGsly3bfG5KxOFSmOjgY3Cv4GN1J0ZUcfpsoHcf6Pl/o8FWp+MGMD8HRu7EQPVlyW1w9HvRrwjTquHgXo7ED7VtDzt1jPGKipT0NDj3W5aWtfY/u0mLPJ5NXvyafP4sh8Ds+mBv9X73uCpSPh3JCYz0arfZgZCDN7tqkz1JSKc/7rtIvgBcsIqBuRqA6MBTyorgzdORxSqjpmJcgVkp0WMl9J/LA34JrsjwEvoW83QKlcDEVbWtS/WQ1hLPdWHL+dayHrF18Yrtku0os1ApZodeEUxmTKLvFMZ85bn9oFZAUwgI4Z/KAKgCdc4iqlp0cixNkDp+8roOTdUtc3d9wjltyHV1Szy+GpY4ykFdQbMSQxI5YEIR4w83tCVWqTcRYoclQrV4v+JmfdPsYHjrXDuj+BmzS+msZ99XRKcq2vrygzQ8cknbtdT1vb5F6tT7TE3crO8rcUJXo MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 5700fb65-3374-4203-8554-08d3b9f8d772 X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2061; 2:DfgtOC/0kkPU5b7O40CCXcmmJ/MS9kAYFFbMH4hEIPbL1aQ4bQ31O6O5kC7O5lBhILAWnHApTdYqgobS2LS6uEACX1h8pDVwyEEhGS2cXBvmq/pWRLV8shwKOE+Kk4Boc/p3xHb2QT6HFEMM0hrqcolnKyyesSN1bofp+yqVil1FomJ5RxU36s5Vfdwx0NOp; 3:6oZG/z5dlCCktmCb7F0kEHRWsdAGio6aiBeJu361wWFUlxdgrEUvajgeNOBstenoBkKe2Rbfy4ZTCcLrrvSKzFcL3PVqH/LiZTh+ywhZnX1tX4bDlkfL1ZYkoHc+/wy8Wg+k5HEeLze4L5n+hK55Wsk7OJ6gho+LMlRr1OYrk/afndf0+MMuVyi0NfN/4zH0WsDSTKn8z3iAVim0uNS0+A/6NmDPrW2spwSWivLPwQQ=; 25:j7NX5qCP/3fhJDT7CgayV6STRZjiDpxoq3IZV55VtbpTZ3p7GnFLctcomr236EVzNt0Q2+IBP+JfsFHytc2KpEzTQqFEmE7Iqz3mI9EI6n7+HK3n5iC4hablAUK90Dju9Q7Lg/s5ZFMh58+h5BO2BfMRcuaCfsDaHftPsqnZI/6SqfzNY+do9X0yzQUk0BQDXqgnt21DMWpuxFFUnGhaab4UcovQ7bhvi0s9QXyxwRpgUOcdJzeP4yIR0Q0LBZoDDnfJiFP+BAMZRdqcv8fVG2B69z5sGjOV3k1A9LsjUv+a+kRhFICR0p5F84JEwHto6qxNeElvzcKzL+qxdBt92eemu0xe/TEx6Ve/eq4+bHJ0u6y7WIG6BdY0NazkoR5v7MFe21/JhP1wKHrEN3L3jUMQDf4TcrfDPI03XTb1B/Y= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB2061; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2061; 31:vaEgRcMMkG4A3T3HfFF2V2PElb+e0OU2+BKsPzkrond/L0+hu5npA7I880fbtYW4Z7ieBFvz/sdfw2zTAwobIp9W8/MSZGIJxe8C8OAtkXmVLVfHmjS0cOEF7DsioAMV/m0cGEDinrjfSF48B4q7ltRonySKxSXpAPHr5ZZwmIYIsCV/Bfm9n9sqOi0lJpH43v1oWnHLj05p6dzKBnoXvw==; 4:O/KkUW7jwH11/yXPqQz1zx/U85qeRvFx2VTVLuDclBWfvNyS6OfRTTPa5riDnGVosXcCqfzYTAyuLGWDZqwAyS3QS+/LqJNKMYYwebODdOgg+LBactZwxfBIZHLNPB7Tv3opCxpMYAsGBMQ4I5sJRtfr60O2LnfCh2gbjzZVBb95nn8F/4o+6eDpToI+AaXpr3rs3ihkt1FdxWSeOf3owKmkkJN9T81KoAx8272Cj4kICvhs5J0Qit8QYmVeY9uS32/ef5MDFIh9LVhT+l/PzdiMq3nYKbuHltTEwZBzLNLHgH0tsJHUqZlP3CA+xtn59NvaAJ/iBDAWEC2ZK+iKn6oL3O0CsRp7SQPuUDNZ8ZvXXuutlJ/Rba1X0SKtaEZ8XLLaYQIo+gT5+gj/jUiAvRCUk9gk3MEGfPeK5hJbS4qMqpAxIp9AhviVZ9Q0dqKhxLUtj56BHRA8OrFnXu4pbUEZAdIE/wo/No/chIY85nk= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13018025)(8121501046)(13024025)(13023025)(13015025)(13017025)(5005006)(10201501046)(3002001)(6055026); SRVR:SN1PR0301MB2061; BCL:0; PCL:0; RULEID:(400006); SRVR:SN1PR0301MB2061; X-Forefront-PRVS: 0021920B5A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0301MB2061; 23:Qk2ASesykhhyU7X0PL0V9BCCz7+0Rkjyba5zulU?= =?us-ascii?Q?m9FLK93oW0v/tPnt6+zPhZ3cejvyryUKnMh4D38URXQCmNnCj94Evid871Zh?= =?us-ascii?Q?0GMUZtG769qYIL/QlfIy2VtZwB76HF6/ZDQawFzN1ZJhwQAAC34MMm6x5Uhx?= =?us-ascii?Q?eLj+zYX7QZlzlp/Qneloq/VsGEqK+p5lV2HhkUOdGbwF8J1QtsQVGYqgeudx?= =?us-ascii?Q?QiHuexnggzX2nebNBpEN2SnlXK1Sg7OxsIjjAWzY2D9TKckeIz0F+31j7KhI?= =?us-ascii?Q?C5J/AjmBN+Dne4kcrVq3IpO8Q4vgY1Xt+7EKoXIuO1Vv899gd+Ku01+ks0Ic?= =?us-ascii?Q?n/hBCCv6GxvwMgmKN4q+oNpO0C8PLIiLvuQRqklyHsC3RnozxKnUshyiG1vG?= =?us-ascii?Q?IV+GZjWo17V5W4Ti/Sf8IzTGGUkYQ+iM+K5UKEblpf+G3FV5TYlN1bSdrjYq?= =?us-ascii?Q?fVZabyloDs4QS97K9OJwHUjjeOHLyT8Cc+u7sK7Q6emtqMKfjXgSm0sluGOu?= =?us-ascii?Q?kB13xy1PLc7tar3hdDvqeLtsud89qOc+Dcy8J2UdStYw7YMqHMG5lPhB8gBO?= =?us-ascii?Q?Aur9RNLeke7hm2XhzfUoWWbtEwLthmLlDe5Fhr05p/xjpikKqkQukM/rh9xd?= =?us-ascii?Q?TE7gK+La3K4BqJAqHNrFIyOaQnogpjL/vzcRIv6in+hB2eci0C3XN4nBxEVX?= =?us-ascii?Q?NwKi1uEWixR+dpvWPXWCOkDhPLs1nANa6ZPn8d1HSjvhUk8RUSHL1H6WSz41?= =?us-ascii?Q?mLSV15i2/fF/DyqPvpQQhHaMr6zb9YlDIUxrejDBtrfR3As3pjjyY/GM4kF+?= =?us-ascii?Q?k8o1f7EIQjYmExt44r9jPrnvoghgX0ZNPjn81b3qw6HpEZVPOPApg75FiZPR?= =?us-ascii?Q?6T1f6gSrGhKjgdPmpMShNHc7almJAogVTu/PQ/5jDwydzW1++LOkjhAtEC3h?= =?us-ascii?Q?9JE3sxEL8i+rzsoyw4Oks6X1zntoeIxzOKS3DWUmDPFWMQGSW2dnjvRbTwDy?= =?us-ascii?Q?dkDQApaiIrZsAUHM1Fku97kkIvuiossfrQ6vG1KaXELeX6PWVR1U7yE3oOhU?= =?us-ascii?Q?sxCvg9UfQFszHY9RP0wCYN2bw0MuvzodFm9hOLmBa6kGOWrQy1mekufZ6l0D?= =?us-ascii?Q?/0l86nv24sVQDS6CvN1G0Y9o0ahSZhuPdZNaXNv2DH5JByPxbH3xB3A=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2061; 6:fan+u018Lxi2il85gCeNX66LIxChAQqV8ZmdQt9nmznxPJwIf5pFKqasDxSQBog+0M94gmI2/6xCZtb9hwph5ljgp7M7BmTFDrtkCjhFuADkN/ayK49n0DjPSSkVKU6iVFg47lAk6/iL//Jcp+iJS7X50UZpxu/otHnuvBPaK2zvHgNAKfMOXc48e9o+LToE6XJj8ouLZjUO+wPysuBxS+mddDSiYUcf0N5+ayQNFY9KppiF77Q7/SR0dzx3krm/MArNC3nLsbS50fYNkXUBzLgcW5fCV7vZpZAWNMUjHHU=; 5:vJfHosYBuaRQl+kXBJne6RigoJwm26iJWwhHP/+B0L4Tx3R7PvTHxAAMhZji/LZE2WnmV2vqxB3s/DiBTD+bKS7SfxxJkQI63jNvq5Wu8Eu6azUy4YIfR1CosBrrdwoNbfodaftjtvDJq9IIW4A0Jy0nZa4hfBzI5/4l99cS1SU=; 24:vW7HQuQm5BLNhfDwknS/afSm3oa9AV2p3HRRkMrBF48ceEg7cpbnZe6Kd2xwx/TjbFxZ9HQHYv6RdXLIsmiC/JgagFE5fwyy9Zv0yZuYH/Q=; 7:6YVqaaaTBk4Z2H7AO6PD4BYfjafSKpg+S74KIBcbBxpMY/HjBkZYH673nlN3qfvBF0OG5TiJeo3x0tAox1eNR5T8ZBvnElpRoNokPMoPl5sPgnJPO2qzD4/aFXzlt5Ag0Ki+1CKBJbV7p/m7fpkV90VGAi4+Xr7rvFVO9/Pe4T4uTHKuOu8cJjk9jZCCoRqlodZOKVw9vSOhSlfEUwbDbWMi+yoRt3MljxlIP/Od7CIX6n8aW+0Z5JSM3Y2CV8Al SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2016 10:44:40.5290 (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: SN1PR0301MB2061 Subject: [dpdk-dev] [PATCH v7 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: Mon, 01 Aug 2016 10:44:45 -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. Overview of this work as per David [3], as well as notes from Thomas [9] & 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 This patchset is based on master (b0a1419) [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 [8] http://dpdk.org/ml/archives/dev/2016-July/044004.html [9] http://dpdk.org/ml/archives/dev/2016-July/044086.html Changes since v6: - rebase over 16.07 (b0a1419) - DRIVER_REGISTER_PCI macro is now passed pci_drv rather than drv - review comments regarding missing information in log messages - new API additions to 16.11 map objects - review comment in [5] and [7] are not included in this series. 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 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 | 8 +- lib/librte_eal/bsdapp/eal/eal_pci.c | 52 ++++- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 7 + lib/librte_eal/common/eal_common_dev.c | 48 +++++ lib/librte_eal/common/eal_common_pci.c | 17 +- lib/librte_eal/common/eal_private.h | 20 +- lib/librte_eal/common/include/rte_dev.h | 30 ++- lib/librte_eal/common/include/rte_eal.h | 3 + lib/librte_eal/common/include/rte_pci.h | 35 +++ 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 | 7 + lib/librte_ether/rte_ethdev.c | 272 ++++-------------------- lib/librte_ether/rte_ethdev.h | 40 ++-- lib/librte_ether/rte_ether_version.map | 9 + 51 files changed, 415 insertions(+), 813 deletions(-) -- 2.7.4