From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0071.outbound.protection.outlook.com [65.55.169.71]) by dpdk.org (Postfix) with ESMTP id E41D2559C for ; Wed, 3 Feb 2016 16:59:49 +0100 (CET) Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (213.17.239.108) by BY2PR07MB1442.namprd07.prod.outlook.com (10.162.76.144) with Microsoft SMTP Server (TLS) id 15.1.390.13; Wed, 3 Feb 2016 15:59:47 +0000 To: References: <1454423239-16382-1-git-send-email-krytarowski@caviumnetworks.com> <56B1E70B.4070607@caviumnetworks.com> <56B2217C.9030407@caviumnetworks.com> From: Kamil Rytarowski Message-ID: <56B223E8.8060001@caviumnetworks.com> Date: Wed, 3 Feb 2016 16:59:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56B2217C.9030407@caviumnetworks.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [213.17.239.108] X-ClientProxiedBy: DB5PR01CA0012.eurprd01.prod.exchangelabs.com (25.162.149.150) To BY2PR07MB1442.namprd07.prod.outlook.com (25.162.76.144) X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1442; 2:oulVZWXXTbMZatjPUs2D/ZPjCit3T3Xyen98eDwvbAHSWDlyLEBSRAw3TRJeXUWosR3fMtkIHCe03cP9HZd7LruccpMcK+wDyhBlMUxWnO19Ra310FGsNokTCwkQoXB6RhWZKUoJ9fb9IclB3p/UHQ==; 3:usC/pis2wm4x1lwLvbjlV0sKvSe1rupPqHuMfPqexUh8eDC1CGeosUx6kBWZk34pd/CdA4vcTpvWBdt35drWZrYwW1nN3nPv9D1ZanSvKxhxl+Bz26ZBrxZ0Z1hlKRgv; 25:sYFizSJAWBwvMBYETWEcaI5PPfh+3Ig8bYndNuQiQDzsE8neR6WiGnDyy+xXSvrf3vZx3faU72SZtUUFMOlRPX6cp+iiWSFakJjv/pgsEMUD5IBNvtSXj6JY7iLzo/1t1+Ny1mzA4D8ENa37VH7nmtAOFBSkO2OtqXhBZ3CSjFJr6o/VcM8QivtL4ofhF3b2b5kxCNYGM0XSIqpw36NprdGNC69f77mkM5DOrTrh3sYHzQY2KUrwK3zhbB8iRnn1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB1442; X-MS-Office365-Filtering-Correlation-Id: 54fca835-0393-4694-43fd-08d32cb30ad5 X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1442; 20:blSJ/JiuNkpdn4/X2sHBGWPj1AlKqD+d8PJzBfcAiKH6D7cI4rXGwo0szlunjOLNVqRV8haKdc2JMz5zw1QutTuusrLXFISUmD9RBQ/S/XT0L9DpvGVo1JDrT6YGn4d9Y/x1aaSfTqDK0EwyZo88cnWEjMgnG8NuFhadIjJQ/ee9dTW2SlOh9gMf0mQqbBJZUQ8ZKWNsLSd9nGpm142eSR+nyZLSjL/jfgdVbxnWmyY7/7TzEohgv67eAybo/XDy3T/+IOP6F2jcSNMF/+0Q8e3Q2kSnJgOq+ZGI5CAGdTArZH+XFhlQ182LaXmrD5bwH5/9hXsFwja1QKpjyvZwFT63PRwnM6IZ6jKxBw3Mesjg1tXq6fVMmZhwZGlitq/uF0JuUH5AL26ZpFXG7GiX08/6AI4Mqd9c5mwTRSzORCWQ2axKX328SiEtbzmQDV2wjVwJapKSgQUAHcHcgctBZEzW2dFf781hsIpagCNvqnXvCWQAiQx8xVekEtmJme3blVI/KlLwZAxDu7kj8etQAvY+aum1Lv8RrM7oF1ao2OmoN2HYAqtecSEoRs7itX89Bkwddvn9csuLbNxWICkR9kJiJix62pdfm8qXIYQwrKs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:BY2PR07MB1442; BCL:0; PCL:0; RULEID:; SRVR:BY2PR07MB1442; X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1442; 4:wdNNH31PpApDYpTt6WGqCkDsPerAPeJedl1P6tCSxfide5XTp6/26x7KRcGrYknbkQ14tS4FjaPqRz78M922cTPYuskI9ww4UuVrtks9xU6U9rBBHYADN5NiuP7iUZ1QySOmdxWJCF9wk/YMdfBfjMILm8TcsmSS7h1dtd1u2P9zQhvt3uNYo+3k9MauzMQhU3yNXUy01ZMXQ0ndo3NnV0rgWqucJHwJzk1S30giE/uR+H5PgfUCP8EaQ+u7jItYYYeL7HoEBxAipx/Nqc9bmL/DT31PoU2EGRGZoOY+yCFSh+kGxvfc+by5tcKCFPeEE5Us0ulsmZ27fy/+TFq1BxlV4nNYdPvK0g9GxWu+ZR3nYrCpjFi7lGk+X+m229k+ X-Forefront-PRVS: 08417837C5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(377454003)(24454002)(36756003)(40100003)(23676002)(64126003)(122386002)(5008740100001)(586003)(2950100001)(6116002)(1096002)(42186005)(3846002)(33656002)(92566002)(54356999)(93886004)(50986999)(5001960100002)(65816999)(87976001)(47776003)(19580405001)(2351001)(230700001)(77096005)(4001350100001)(76176999)(450100001)(50466002)(80316001)(87266999)(2906002)(189998001)(65956001)(5004730100002)(107886002)(66066001)(19580395003)(65806001)(110136002)(83506001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR07MB1442; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjA3TUIxNDQyOzIzOkpUT0tqRTFoTWo5MHVYQ3VBQTI4RjdmTWRi?= =?utf-8?B?U29iZURZQVlRZitrUWpaelBpN2R2OFBRMzVTVjN6RFRXTDhIaGdxOFZxSWFN?= =?utf-8?B?eHFXMXJTSzFUNzFBdWZEYkx6NndQRzVHc0dPSUtlTTFBZEk1N0szV2RTaGNC?= =?utf-8?B?Ym1zcXRQcW5DaXB4ajJiQWcraFpJU1ZBRWRBRXgxVmtyTEx1MG1tSFVoS1ZK?= =?utf-8?B?TG01dXVRUno0Z0x3L3J3ck1CNXFPbG0vZnZXb3YrM0pRSlRiWVdzK2ZucW4y?= =?utf-8?B?YjhlUWV6UkdVcEVEb2RLUG5mb2xtQ1RCajJQQllIVHJqWHBUNHBmbWpRTW1P?= =?utf-8?B?TWxHbjNSRUhkcmVaQU0vd082TklublgxUTFmMlVFOGN5V1h3a0EwcnVPSGE4?= =?utf-8?B?WG9zejhHWWMvL3pyTnR5REswV25JU3FLNFcrQ0tabU11QUNYeWdXN3lvUjVk?= =?utf-8?B?NGxvYWJWVGoxZHpYM1pzbnBJQmlhY3M3NzhsS1oxVlFYQ01lMDRLSExleVFO?= =?utf-8?B?YXJ0M21QQ1pKTFZwODhsM1pzb2svSE90SkQ1RGpxdTNjTVFUUkdxaEVGQVdv?= =?utf-8?B?SXNvUUFCWHBQWVM1cGRxNWNNaFVISGNOc2VRRUFMbE9rNzlkL1A0WTRTdkw5?= =?utf-8?B?NXg5OFVkRFZkVXcrbGllcU1ZQytKWDF0N3NKN1ZONUw5VG55WjlLakdoRzBK?= =?utf-8?B?aHhONkVuYzR4S2NaSkpMVSsxRVRTckZpK25CdVZDL2g4UjF6RTF4YVRSMUds?= =?utf-8?B?VDdsb1FFSDUwckFFbk9vMmw5czNyYXpkOFl5dW1UZ1pkRitOcFVNU05tRjhH?= =?utf-8?B?cEtkWlM3em5uazFsNUV5TzU3ZFFhU2s4UzNVOGk1d0pyK09lZ1dzOGVCV2U0?= =?utf-8?B?dmVWbS94N0dQQWFuTUJlUHJndU5iaDZMS051VUkzeU1BUFVFMkxBWGQzMk5I?= =?utf-8?B?VjNjNkpPOURvM0xFRHh1aGd0S1ppQ3k1dW1zVVhuL3lzcjNlWmhvckIvMGU1?= =?utf-8?B?U2JpVmp4V3BaalVvaTAxeXFUdEl4elJoSy9Oc2w5MXVVSE1rRVpselNwMzIy?= =?utf-8?B?d1hERGN2SGtWSSszN3ExNXM1YWhkL3Izd0dCeENQNGJIN3Q1Wk05U0M5eW5Y?= =?utf-8?B?NEpFcU9uY0ZiSG5CNmV3bGw3T0ZxR0h4dGRER0VmQjB0Sm5OMWIxSHhlSTdi?= =?utf-8?B?RnJGbk44ckZ5Z2ljN1lNd0kyL2s2SW9sc3hEMnN2bkpIMHJrQ05iVWx6VVpz?= =?utf-8?B?UnNNaHVnUkJVQzFxVEdwcXo4d21PQTI1TU5CdjZUdVcwWFphckNEaGNFMFk1?= =?utf-8?B?WDdYNGZYS1VMMjRFM2N6aStzRXVpRXJSNUIzZUx2MG8yWXJ4d2ZGRCtjcUph?= =?utf-8?B?UTZRM2l2Z1BqTVdwamhLZ2VNdVVlYTBaT1g4b0NVWENycnRmWlhTcVhqUStS?= =?utf-8?B?WmY4TmR4SlMxOWsraWNXT095Z2N1RU9YT2dCK09RRTF2SEEyWk0xM01GVTFM?= =?utf-8?B?RUNRTDM3SVNVcGlNNERVcmxwblM2em9ZQnV1ZjVQamdnZEt5MU9TUmJvM1ZG?= =?utf-8?Q?pI7g3ettd9DHD+KrztM9YBAJRIknUZqdjST4HQYGBqTY=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1442; 5:4sM6Ef5FD524jQ7jCBDnOUKOIiNPTTXL66ZacnyWFwnISfDaK5DUUIk1SMb12e7SiusNYD/08CqzvT/xOfA9q70g1mCsPmEMEZ6+xANPo/3WWQRQW5Zb+spBKKVQo6w7BqI4V0AQT1oMpuPu/n0S8Q==; 24:Ng2El6EoC+7SNJwU1jvEX0+sG/ZXB+uuCz4ymeZJY5BnnV4+Tq0/uCiqalvHYSpVmk7cqG1UJGtUX9gg30kR7p5zLmB105wDhWMJW7MJ3vs= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2016 15:59:47.5482 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB1442 Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: Allow to overload pci_drv.devinit and pci_drv.devuninit 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: Wed, 03 Feb 2016 15:59:50 -0000 W dniu 03.02.2016 o 16:49, Kamil Rytarowski pisze: > > > W dniu 03.02.2016 o 15:08, David Marchand pisze: >> On Wed, Feb 3, 2016 at 12:39 PM, Kamil Rytarowski >> wrote: >>> W dniu 03.02.2016 o 09:47, David Marchand pisze: >>>> And do your custom things in its devinit function ? >>> I'm requesting from PF the mode of the device to be initialized. >>> This part >>> is handled dynamically and depends of the current configuration in PF. >>> >>> In my use-case there are two device types: primary (master) and >>> secondary >>> (slave). For the primary VF I'm creating a DPDK port normally, for >>> secondary >>> I retain configured PCI device for further reuse (and there is no port >>> created). >> Well, again, if you don't want to associate a port to this pci >> resource, why are you registering a eth_driver ? >> A eth_driver driver supposes you have a 1 - 1 relation between ethdev >> and pci resource. > In my use-case one DPDK port optionally manages more than single PCI > resource, and these PCI resources compose single interface. > > Another example of overloaded .devinit is in app/test/test_pci.c: > > /* > * PCI test > * ======== > * > * - Register a driver with a ``devinit()`` function. > * > * - Dump all PCI devices. > * > * - Check that the ``devinit()`` function is called at least once. > */ > > With the current implementation it won't work, as .devinit callback > will be overwritten by the internal function. > >> For your case, register a pci driver, then in your pci probing >> function (.devinit), depending on what you want to do, you can either >> do nothing (?) or create one or more ethdevs (see mlx* and cxgbe >> drivers). >> >> >> > > This is what I'm doing right now. > > I need to initialize PCI bars and interrupts (resources) - all having > the same PCI ID and their functionality depending upon PF > configuration. Depending on this state, I'm making further decisions > in DRIVER_devinit() and whether to make from it a port or a resource > to reuse by a master port. After sending the mail I noted that I can work with the .init callback and I may be wrong. I will have a closer look and I will check whether it will work for me. Thank you,