From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754421AbbJNQ0k (ORCPT ); Wed, 14 Oct 2015 12:26:40 -0400 Received: from mail-bn1bon0054.outbound.protection.outlook.com ([157.56.111.54]:62313 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754268AbbJNQ0i (ORCPT ); Wed, 14 Oct 2015 12:26:38 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=David.Daney@caviumnetworks.com; Message-ID: <561E8221.7070701@caviumnetworks.com> Date: Wed, 14 Oct 2015 09:26:09 -0700 From: David Daney User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: "Sean O. Stalley" , Bjorn Helgaas CC: David Daney , "linux-kernel@vger.kernel.org" , "linux-pci@vger.kernel.org" , "Michael S. Tsirkin" , "Rafal Milecki" , "linux-api@vger.kernel.org" , "yinghai@kernel.org" , "rajatxjain@gmail.com" , "gong.chen@linux.intel.com" , David Daney Subject: Re: [PATCH v5 0/4] PCI: Add support for PCI Enhanced Allocation "BARs" References: <1444175438-7443-1-git-send-email-ddaney.cavm@gmail.com> <5FE5E296BC647B42A2509AB982F88C1321D86B95@ORSMSX108.amr.corp.intel.com> <20151014161731.GA3029@sean.stalley.intel.com> In-Reply-To: <20151014161731.GA3029@sean.stalley.intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [64.2.3.194] X-ClientProxiedBy: SN1PR0701CA0050.namprd07.prod.outlook.com (25.163.126.18) To CY1PR07MB2133.namprd07.prod.outlook.com (25.164.112.11) X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2133;2:dPVdwgOhDr02+dqKr41dEXsGvPI6fz+wO3Ei9wRVLM5cVMzCwQuf8LopcdlfABxkuGHu8YTHMZgQ/6chnZeu5LNnUqOAcyUa4EIwMuUR0/+cSGH/h0dcYPj4Mvux30+2mUUsNpJxItW3ky9uTDB457kV3vb0HtyzHbuyjA+xOGo=;3:DZ4Rajgi72cuZCLPbtBnABBmNjTkelo39kpv62D7JI0Rfqzy0xt+mXPrvY6On58weK2fBPC9VtRbBKPMEwo3mmIQpwUPMK4s/CzacRICixrWDRLDqAmzWW3A0/glctQeCKSkxA085wk7tYziBOtx6g==;25:oJJKwE7O6pnwQzhLqz0U7/9ggljm5cs2y1O5sQqPFJR9ZHtPnMJ7vR7iX2PN42SnMboVZAsoDw6k6iOuL1QtYgQq/2RE1s13v62SNTxOeYNfF9XMXBXqP2Cmp20dHUHa95bOwg9IYAGz8XyJPLzCRUBAj3dbyz6wwFSWZttEAKdBZpuigvia6uG6LBajEiCVc0PDaDG53Z2v6TYYovKSGAdEqjjD4aVp8YkOnw71w/K0oxg/mnHv5dglkYmDXJMYYUqh3QtrXkfSLZhyoE1I/Q== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2133; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2133;20:1yFFXbbGdm9C1IOTg055VOn5GpUNVtjvAURH7niuSrybbiwFfmLdTEKUujgFQZZui8QMvCJLftRfqBJSqFYk2GHkfD+8q8PiRIsnBaNWFn3g9phoEwiflT335FRswknwnprBlrUKltoPbk1Ie+W8ul5ejuiGrVszOIXeIgiHobdhQxmYY/avADZjnjvCu8w5WL3XO8HBzprnWLr7pneY5UEoXMfcPsXnK5tw7nX4F9argiEMuKBMczKSX2i3BqOAL1032NGF3q8CvNxz306reJzpZijjs52ZSUjSNW9uIkPS4mGw0t7adPRj03Fxg2U7quiX0o4neSMJ7uLaeIjDpdSHEgFETN2skfsX+TEXz+OxNal2qtfxKCDl9dwJmNScPqxGbWYPmNe1YfEGkP7mRw8wEQBShz6eRsMBoEUUM0jzo2r8t9wTSyj34FFTxjWT42eaMwXJA7+/ImRT5CPe4rE24bkt6MlfzEKszPoZXrhY+dPF1SaOP4NbGIF1bC3FHWhMvYxkP8Adx8DXGHTBX7vBma6gFwGGXkNAFvW6Id+mUyVy2he6UTsw027H58YXbZlyPHys6ot2cK2KielcH/70aUhzFrVqJXl6qEVwhjw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(3002001);SRVR:CY1PR07MB2133;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2133; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2133;4:fQ/wpLK0sm/SdoLSeuBKOKLnzE9NQIISBvqQN4dxg3Q+1EDY5OoXaBFxV6xMUQdGDkLHk1Hb4rhQW+HUrABbkh3AiVTRoF3QfvLWks0Hx0Z9QjsnsneZOjfaHKzoTQhPNhoNaLXivdVdeQBtZkIQ5hF6VrmT09yZ42ewGQ6SurvELdqEj4FZ84Et1qUl4VP0c+Kux4Bra7jf489Hu/LnA+HjLOQWhZWWz9xfdZVxlImE03OPBmW7MvCbmXJdb9VZ8nDToG/F56G0Oz63X8IlPdtuZJiGPi70sub3lFoToHGimxhapTHXlrstBnmGsNZrRRjqhf7r9dgFpPcNfElmQ089K9VO5rAgcf2ebfDdDps= X-Forefront-PRVS: 0729050452 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(189002)(479174004)(199003)(164054003)(43784003)(76104003)(377454003)(13464003)(24454002)(5004730100002)(36756003)(97736004)(33656002)(50986999)(40100003)(54356999)(92566002)(189998001)(46102003)(59896002)(5008740100001)(5001770100001)(69596002)(76176999)(42186005)(83506001)(122386002)(65816999)(81156007)(19580395003)(64706001)(80316001)(5007970100001)(15975445007)(5001960100002)(2950100001)(53416004)(50466002)(101416001)(65956001)(105586002)(65806001)(19580405001)(64126003)(4001350100001)(87266999)(106356001)(87976001)(47776003)(66066001)(77096005)(23676002)(19627235001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2133;H:dl.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjA3TUIyMTMzOzIzOlBvcTMwZGtiRGFlbEpRVmtQN2hUVFdGK0xH?= =?utf-8?B?clBwMG96MzgyNUhlaVRMVU5nbjlhNHZzNmVmdjVUd2V6bTRuNFpBN0lwT0Iv?= =?utf-8?B?ekE5Z1A5d2picElYZm50VDNhc3lsOUpOY3F5YUJqd2Foa29iK3RQQ3VtbzNh?= =?utf-8?B?NlE4L202VXdMLzBpM0IyWjNucno5a1FDSmpPQ3dGN3BEU0c5MlBta2VROVlX?= =?utf-8?B?WFhmeWhOaVpHTHRUZHVxemNEVW04U1o5U1lsd2h5SnBTZnNQRG5kaFZqcXFE?= =?utf-8?B?TlFScVRteUpwT2oyNTdIZlhOblU4ZEhGV2s5VEwwYUh1WkQvVWt6QVVhMUVm?= =?utf-8?B?SWFieWQvdUpEczMzalBpM0w0M0JwUWY2VHRpVGUxT3phdjZFemxjYWNRVGww?= =?utf-8?B?NjJYVVd1b1FUald0NHZzNWhWV1RraU84N1hnU0sxQ3g3eENEV0JLeVR6ejhK?= =?utf-8?B?M0VOQkZWd2Zycy9UcWJaTE5YcGd1anN5RzJ6U0RjdjdzdnN0VDY1R0RkVVBY?= =?utf-8?B?TlpoRWRDVGppMHZJY2hxQXoxaWY1V3lwNWVENzIzczBiamtFdlJKbWZQcnpO?= =?utf-8?B?OE95ZnpZcXBFQmJIMFp0ZWt2WFNjVVhNRGpFdk54YWdEamVvdWtKVzBPZDVU?= =?utf-8?B?Skx1ek5Jb1hwcmNOV2d1KzNSODhxYmE3dWRUa1cvVUFuYk1xVzA4VDd1b1FZ?= =?utf-8?B?THY5R3NwcWt6OFNFcjI0ZVcrQ0FkMGpKQ25HK1hLVlcvZWc4OVhMaEFNd1p2?= =?utf-8?B?MS9TQmVSNW1PbjRCUUpvdXM2UXRnMHN6VmZUZlM5UklkaHdnTmMxR1hnaGpV?= =?utf-8?B?MTdOREVzc1hwK2JBdHNsem5NcXdzK3pzdG4wNzcyaWdDdm9NMkxzODY5S0p3?= =?utf-8?B?c0xuV3RrcmpneXF3SGlMWngyeThlMkRvUk9ZZFNXZXVRZnZ2NXBpSjZmdXBP?= =?utf-8?B?TXhMQmxNTm5HZUR1N0VscFp2M01UaHdldGZodm5taTBPNUhVQ1RQdVhHNHFR?= =?utf-8?B?Y1pVSVpNUzhKRGpKSmExZ0I2OGlaOGVCR1FOdFRiSE5oZGpnOFVvMGdraEFQ?= =?utf-8?B?dGtyVzBCNEhIR08xTUhvN29DMVJNVEtDOVlzbEJJSHRHOE5DOEI3VDZ1VnJ2?= =?utf-8?B?bGJQb0VJSHplN0xjdmhiZjRCSGNXUjA2dWZnWkxCWUhKQy90amdGaWFKMEUw?= =?utf-8?B?dWVIZ2hZQ2JUdlZ0NC9Hb3NXaEgyWVFrQ1g0VGQzc1NOS2F3Y2crZVhuV0ZY?= =?utf-8?B?U1hMM016WHhPd2VUemJDcWprb2hrVWhCdzlYRExqYlZxak5CWFRwZmxmNWpX?= =?utf-8?B?UVR4QllVMWc2a0R0blI3anIzdXo3aG0xRmNBOGlTTEduMyt0aFE2Szg2MUVG?= =?utf-8?B?Y2RLbGhHQ1VEMjdqV1dMazVQcm5uTTNpSHFNbDVETXo4MlJ5SU8rRVBKeEFk?= =?utf-8?B?bE5zM2dJMGNyeUZURDhnZVRMa0hlZDZ3cDVWdW1JUG95NlRBUDArQzFSKytI?= =?utf-8?B?cE9TMGVLdGVTRGh2Z1lDdklGY2l2dGl2SE9WVHBSTHk2K2swQ2lNN0JaTU5p?= =?utf-8?B?NXNkSUFuVDJOUlBLd2NXZlRTN2dQL0JJYjZwNFpvcFVvSDQwdk5sbllWRlBJ?= =?utf-8?B?NUpDTWZ5aXNCVkthRnVFcVB4SDFvelYwc05BUUpISEFGNmorZjRlRHVwZ0xL?= =?utf-8?B?MmtVRHU5SjF1NFlRbkZpZmRtR1NaSyt6ZFFtK3cxNkdDanNCa0hwVXhCK1Rh?= =?utf-8?B?czZ5cUxXUTBqSkdjL2wyU3RvWW1PWGs0MzhkNHpJUlJNVnRPeURiRW9UK1Va?= =?utf-8?B?cXVWQWNqM055Q3ZaTEQzUE9FTmloRkdRaDZhRXN3N1VLWDJuSTlHb0pHM1gv?= =?utf-8?B?bUx1c1M1QlNkTTBMYVFsRmhTODBCZlQyck9kZDJ4UG95RWVodDJienk1cmNz?= =?utf-8?B?R2thSmh2SFJRPT0=?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2133;5:1rcuWOCG1bNYzjhEk1NL1+KosI/sR1qy76RwyPLjqJqoFa4RA5KrNkYyC/uC1grMZQgZtgYKNltdIIA1JxT/P45dZfDI0Q7Ny+Et+oTmKVNmq4ht2kTTlYc4y0sqzKs4rX8kEl33a0sCIfQ8NlhkbQ==;24:A2L9lrJRXCQ9SFZT2KTjClmKkiACYm9sCB1uQtR8yLXfLE0ZtwFktoDrMjWdJxI/sM2IQ4xU2ho2Uf7iA8IhPQ+az2Q74LnJK28liLC5Z6M=;20:NQNGcll8Jv1l1Veeg+g6pyvoTfxbmkYyHr8/S+HKIFgAGCqEC/UVTh/PY+HmASUbV8UChUcWpC5Qv9aCIKKiqA== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2015 16:26:12.0100 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2133 X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB1496;2:isIHl6yVYJRtB3NgQZOOx6AnDDmZ2RLuLMExTK1is1Mfx94p4fgdF8jVqzwjZy/yb4LEM3zNoLMrXVJQpBQdSVVV80ELxU2jdbAABH50nVxc5Sf1huH/TKvqlX1scQ+7cSpNqSYErI/16a9ATY3CdeUx75c+Pmgc6Vbd911C1nQ=;23:z87p0lDP47ceaU7AzMGRrLDoEAwkIR4I/6XwnfEYGZVG2IsmFJYC8WNidwu2uBHEP8MtkgUTEvdyAHwLi7TnFoKywgJeofRc0TzruRd5vNoz2Nq0e/7pZb4MQQsJRWtFZItAGzwHEAZDg/V3K4AohshkKYO8h4iW7rFY4GDb99Aem2bSYF5fOoQJfu+iA1nV X-OriginatorOrg: caviumnetworks.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/14/2015 09:17 AM, Sean O. Stalley wrote: > Signed-off-by: Sean O. Stalley > Thanks a lot Sean. I think you cannot SOB if the patches are not flowing through you (as may be the case for my two additions). Perhaps a Tested-by: or Acked-by: would be more appropriate. > I tested it out with the QEMU EA Patches here: > [https://lists.nongnu.org/archive/html/qemu-devel/2015-07/msg00348.html] > > Also, I found 1 trivial typo in the commit message of PATCH 1/4: > "Signed-off-by: Signed-off-by: David Daney " Aargh! I need to be more careful. In any case, what should be the next course of action? A) I receive Tested-by/Acked-by from Sean, and resend the four patches? B) Bjorn takes these as is, but fixes the headers as needed. Bjorn, what do you think? Thanks, David Daney > > -Sean > > On Wed, Oct 07, 2015 at 06:44:52AM -0700, Stalley, Sean wrote: >> [PATCH 3/4 & 4/4] Acked-by: Sean O. Stalley >> >> I won't be able to test it out until next week, but I like how it looks :) >> >> Thanks Again, >> Sean >> >>> -----Original Message----- >>> From: David Daney [mailto:ddaney.cavm@gmail.com] >>> Sent: Tuesday, October 06, 2015 4:51 PM >>> To: linux-kernel@vger.kernel.org; linux-pci@vger.kernel.org; Bjorn Helgaas; >>> Michael S. Tsirkin; Rafał Miłecki; linux-api@vger.kernel.org; Stalley, Sean; >>> yinghai@kernel.org; rajatxjain@gmail.com; gong.chen@linux.intel.com >>> Cc: David Daney >>> Subject: [PATCH v5 0/4] PCI: Add support for PCI Enhanced Allocation >>> "BARs" >>> >>> From: David Daney >>> >>> The original patches are from Sean O. Stalley. I made a few tweaks, but feel >>> that it is substancially Sean's work, so I am keeping the patch set version >>> numbering scheme going. >>> >>> Tested on Cavium ThunderX system with 4 Root Complexes containing 50 >>> devices/bridges provisioned with EA. >>> >>> Here is Sean's description of the patches: >>> >>> PCI Enhanced Allocation is a new method of allocating MMIO & IO >>> resources for PCI devices & bridges. It can be used instead of the traditional >>> PCI method of using BARs. >>> >>> EA entries are hardware-initialized to a fixed address. >>> Unlike BARs, regions described by EA are cannot be moved. >>> Because of this, only devices which are permanently connected to the PCI >>> bus can use EA. A removable PCI card must not use EA. >>> >>> This patchset adds support for using EA entries instead of BARs on Root >>> Complex Integrated Endpoints. >>> >>> The Enhanced Allocation ECN is publicly available here: >>> https://www.pcisig.com/specifications/conventional/ECN_Enhanced_Alloca >>> tion_23_Oct_2014_Final.pdf >>> >>> >>> Changes from V1: >>> - Use generic PCI resource claim functions (instead of EA-specific >>> functions) >>> - Only add support for RCiEPs (instead of all devices). >>> - Removed some debugging messages leftover from early testing. >>> >>> Changes from V2 (By David Daney): >>> - Add ea_cap to struct pci_device, to aid in finding the EA capability. >>> - Factored EA entity decoding into a separate function. >>> - Add functions to find EA entities by BEI or Property. >>> - Add handling of EA provisioned bridges. >>> - Add handling of EA SRIOV BARs. >>> - Try to assign proper resource parent so that SRIOV device creation >>> can occur. >>> >>> Changes from V3 (By David Daney): >>> - Discarded V3 changes and started over fresh based on Sean's V2. >>> - Add more support/checking for Entry Properties. >>> - Allow EA behind bridges. >>> - Rewrite some error messages. >>> - Add patch 3/5 to prevent resizing, and better handle >>> assigning, of fixed EA resources. >>> - Add patch 4/5 to handle EA provisioned SRIOV devices. >>> - Add patch 5/5 to handle EA provisioned bridges. >>> >>> Changes from V4 (By David Daney): >>> - Drop patch 5/5 to handle EA provisioned bridges. >>> - Drop cases for bridge resources in 2/5. >>> - Drop unnecessary fallback resource parent handling in 3/5 >>> - Small code formatting improvements. >>> >>> David Daney (2): >>> PCI: Handle IORESOURCE_PCI_FIXED when sizing and assigning resources. >>> PCI: Handle Enhanced Allocation (EA) capability for SRIOV devices. >>> >>> Sean O. Stalley (2): >>> PCI: Add Enhanced Allocation register entries >>> PCI: Add support for Enhanced Allocation devices >>> >>> drivers/pci/iov.c | 11 ++- >>> drivers/pci/pci.c | 189 >>> ++++++++++++++++++++++++++++++++++++++++++ >>> drivers/pci/pci.h | 1 + >>> drivers/pci/probe.c | 3 + >>> drivers/pci/setup-bus.c | 50 ++++++++++- >>> include/uapi/linux/pci_regs.h | 44 +++++++++- >>> 6 files changed, 292 insertions(+), 6 deletions(-) >>> >>> -- >>> 1.9.1 >>