From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0092.outbound.protection.outlook.com [65.55.169.92]) by dpdk.org (Postfix) with ESMTP id 8FFDC282 for ; Wed, 3 Feb 2016 16:49:30 +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 CY1PR07MB1448.namprd07.prod.outlook.com (10.161.167.146) with Microsoft SMTP Server (TLS) id 15.1.396.15; Wed, 3 Feb 2016 15:49:28 +0000 To: David Marchand References: <1454423239-16382-1-git-send-email-krytarowski@caviumnetworks.com> <56B1E70B.4070607@caviumnetworks.com> From: Kamil Rytarowski Message-ID: <56B2217C.9030407@caviumnetworks.com> Date: Wed, 3 Feb 2016 16:49:16 +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: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [213.17.239.108] X-ClientProxiedBy: VI1PR06CA0046.eurprd06.prod.outlook.com (25.163.160.14) To CY1PR07MB1448.namprd07.prod.outlook.com (25.161.167.146) X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1448; 2:WW9Z5qbmEmfeN11OfsHU9ar5wx6Ji/fbBD2WiJviRnoog9xrDYP7Xht5tnm0xkXz+zKCQ4Hotv8WoFvbg3Zu2+QzUJpT/WzUCVIFLdSx6Ffz48bh+co4NTjCwTYzkjYLHE9usSePkA3Jl4WgAVG5GQ==; 3:zsOr55U+EftTg0+kHxD/hinKwEQ1Er33HVcpLzdZn3Dv0T4rJUiNIycMKw4O0sdR0nigvlloTBTL8S2ShELVJT2x6xHFgDYFJ0OczJ0tQp5vilIXt0qpHmZtqpB21TYP; 25:27to2vQqAyNEJFbpNL0Tm/pfsqqUH4j67v0hoKDR29J6ZacrtIECLrIs5T0Viizv3vQ+RkUpt9Z+4vQTiZmrciSxRWnwEcu8obZBkehdYG+7SI8xWkp+f5oB1HFPF8Lng8J5ti/9DiMyj82NSYgp0oDlVqWzbN7G4/iA5cx/NJj4s2ycCwlAlgZNX62Mz1hmfDyluGAAhR8d+Dc8RIScNOtl0+/Fl9ETKqOvgZ/emW5Kk4nutAQtn4aaXhZvVXTM X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB1448; X-MS-Office365-Filtering-Correlation-Id: ba2b6e98-aa59-457a-a46f-08d32cb199a5 X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1448; 20:JhVyZ8hbOBUoKsh0V0G9MKweoC8+BY/Ivc0Ivis2CNVB6OIVGxbMimtgIvhr/AFn3/9EnK420Z2KUvu/FdZDAj0aK9IDQIjmPUBwjO8ga84Y6oIlq9PODtXJX2zyKCYW3OqlMZm93jaIIxcwa/RO9/eIbtSy6gwC61XgPLS8okxAS8emAocOrhpZvhJ7KKc9RIfsqLl3CG43XIM7waERRm9KOOz+YaILSCJboZwUXCQL8m/fkZgnfNXq/JspVHWw1O+VOMXwyuArGsef1aXx+KvZstHv4PW0eab68Jl6rR2h2vePHzX7lgnJyOKPo+XxKrcBC4JukbIJYBIaNaq8+OXZq7XCLc3yWHRXeQc8Jgm2gnTxJ1HB3yF10LEbQbbdFJvd6fXTD1eL2IOrmXWYvSBEKYeonkZwtrQwZMb1+/RR7qvhfqOD4/typIdEI0cwlwB1iFc7hZTLDfGukbJtuvPyt3wab70IpkaqeG/+M4NLRnaHmkV7jztRMDAhkTiNtodfQkGFJ3qOYv9fBs9W0uB0yO5jYmYRpiVcV3inWH9QLHYsLc/y+lB6wSr/X+IJL4LK+g26e1f3TUMrIwsKXIDcxzIDII7mtxHhispl55I= 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)(3002001)(10201501046); SRVR:CY1PR07MB1448; BCL:0; PCL:0; RULEID:; SRVR:CY1PR07MB1448; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1448; 4:vtm6sK+IwSw6DU+2y8axfjuyj9oTbP7woP9vs/3wzYwl3PMSh5NpfbVVQpdieEBG5Bdk7Xuf/jr+afVNDHZWdIMoWP9/X1S5XGed7x6NIJ3hRSL0Ey84lm10IEgj/VTjz7noBBt4BXbZQFX1vR0Y05dXKphSCaa3kCrB/F9lSvEnBXGD+2C1h+OjStmrOVOQkyprKiZ9E6vcjB7obr2BbFb9sZ5vVHIW4Yo2OLRFITJ6rn4Gz9Li+aDY9/GIWUY+sPb4GEYjaPumxvK70PUC0JoZK8hpTr7JDGULVGhwRb2fet54Xfj4iFT96/Hc8i+JY6tfUbrpvwb3iwChS1WkMZOuI+POIDM7GVATtwhTmhe1x7qqqIphKcaVdaAw3OIc X-Forefront-PRVS: 08417837C5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(24454002)(377454003)(3846002)(586003)(36756003)(6116002)(65956001)(65806001)(66066001)(40100003)(110136002)(5001960100002)(50466002)(77096005)(92566002)(5004730100002)(122386002)(42186005)(47776003)(93886004)(5008740100001)(2906002)(2950100001)(64126003)(83506001)(87266999)(4001350100001)(54356999)(19580405001)(23676002)(33656002)(65816999)(87976001)(1096002)(230700001)(76176999)(189998001)(19580395003)(4326007)(80316001)(50986999); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB1448; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjA3TUIxNDQ4OzIzOlVuZC9tdDU2RTNjVlZYQmw3OThYSmJYcWps?= =?utf-8?B?ZFlsUzg3YjRSbEk3WGZrdVFQVlFwNHc2Z2NycHhSVWhCVVByb1hkTUNQR3Qw?= =?utf-8?B?VTh4THVpOW9walRGSEo2Rllid1k4ZUVLMjFMb3BSSUQ5OUE4TnVrRU5UaEcv?= =?utf-8?B?dUF4c2lJc0t4dE9kMHlEd2VyMFlyb29OcjMxWWNIVXdYVkRoQmpCVHk2TVI2?= =?utf-8?B?Ry8zSXBUdzV1emgwR3pNR2xsTURDSmFJVmt4TGg1MHJnMTM5SjNSU0h2ckx6?= =?utf-8?B?QUZ6MnZybU1UUUw2WGhZMnM3YUtTVUpoeWZFdU14d3BLaWtZT2hVL01XN3Zl?= =?utf-8?B?cGQvSzV5c3RtYnJsaTI5a25hWHIrRkJ1U0c4eWVhN0tuSnV3RGdXSFJLNHlX?= =?utf-8?B?UERkSXhSalNuS1Jka1dhQTkrWW44L2dUN0dBSHFNVHhqZHZ1N1hzcGR6TXJZ?= =?utf-8?B?TjJaSHpiN3MzUVdISFQxYkxYNTI1VSt4MUdRaG1qYlNDRTYrN2RORjE0R3dS?= =?utf-8?B?UXRycEZvb3JPNFhxckVMSGRsdnFST0FoaUNIS20xd3RYUUJrNG0xTnphRXB1?= =?utf-8?B?ZzRVM0dHT2d4ajd3dythLzYxZzdnSjJjVDJMVTZYRnprMjlmQUtNZlF3QnEw?= =?utf-8?B?VzhyMEpGRTVObS9QWndsOTB4d3dlYXVJcUNxSXcvTCtJUlFDQWpTaFRnMm54?= =?utf-8?B?RXBST0x6a3hEVS9Ba1BEODlYMUowYnBoZTJwaUh1N29ZUmRsMXRoWjk4Undw?= =?utf-8?B?b3lqV2x6QlczUGs0dUhxMUhpdEdFdEZKNVhaY2c0dnNaQVlsdDEyUlErMXJJ?= =?utf-8?B?SkNOK3JOaCtTeWMzT1QyOVd1UUNWYTVUUU91MWRkV0dOamxVbVB4ZzllVGFF?= =?utf-8?B?aitYZ3Mrb1pRNURYUm5UVkYrYlA3YTUzM01GQnlSQU1SeSt1UEFnM21yOEZi?= =?utf-8?B?aGp6eWVZbEpCUUNWQkY0dEhSTXU2UEV6TkFZMVcyTEpIekRwSC8xR1RUZDJK?= =?utf-8?B?QU5TOG9ZK3N6K2EzT2xCY0E2QlFqb2tmMXhCZy90Z1BiVVczVEhPdC9YdjRa?= =?utf-8?B?T2QycnhZK0x2TTg2NFdNb25qb056Ny9aZm9TZ0JibFkydHBmVTQxZzNpd1lB?= =?utf-8?B?cDBKcG03bWdUMTJwaWRVL2pmR1ZSbU9FaG5FalBsTTBrWGlOaDZ5dFdJcmVX?= =?utf-8?B?TzdOaUd0TkNmWDJyd0RZYkNVZ0UyOGJIS3o0bkhia3Avc2h2TnU5U0pCaUM2?= =?utf-8?B?VE1nbncvN3RBeEhETy9ISjl5aVhnYk5IVjkrb1hmZjNHbGVhbCtNVXZscUlm?= =?utf-8?B?SThnUFJ3VXNNQ2g1R0VmWXpRYjREL3FNVTZMSWMzN2txS3IvV0wwYStCbTMr?= =?utf-8?B?OFd2TU9oZmFDS0hoNnpkamFOcmcyL1dCaDdsc1o0RkhUeUcvb0F2WmpZUmF0?= =?utf-8?B?M2kwUTdVM1VVQXBQaTVFS3EvV3BJMkJLSlRSUmFkTjVYNy9mUEg0dmtoTWxU?= =?utf-8?Q?TR64Isze29wMisrcpYLZBS3oYedWJhRIV/qvVnfpjTD6Ti?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB1448; 5:YtpAeuHD/slogimqI+SFHNnyY3UdJ8FYN+jAmELbC57a5PkZMuwyp+Bmqr3UW36BdfDi4ecykjn3Vs5DNNkEeuhZ2OuG6+o9a4ziL51TZIzSRQBkzjRzn1Q/IVik1WOQ7PGwFZH2F17pPutTAjopEg==; 24:ETHndp+FS2jhgg2iZHgE4+MYE/T9YOFCsvikHU4XQikbzOMb59sloVMn/+PPT456tuxcz7dF/9LZ2S78J3Elk/3tN+4skMIHHvG1iqPYENg= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2016 15:49:28.0787 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB1448 Cc: "dev@dpdk.org" 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:49:31 -0000 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.