From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751633AbbI2Xxh (ORCPT ); Tue, 29 Sep 2015 19:53:37 -0400 Received: from mail-bn1bn0100.outbound.protection.outlook.com ([157.56.110.100]:3857 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750749AbbI2Xxc (ORCPT ); Tue, 29 Sep 2015 19:53:32 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=David.Daney@caviumnetworks.com; Message-ID: <560B2470.9080100@caviumnetworks.com> Date: Tue, 29 Sep 2015 16:53:20 -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" CC: David Daney , , , Bjorn Helgaas , "Michael S. Tsirkin" , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , , , , , David Daney Subject: Re: [PATCH v3 2/2] PCI: Add support for Enhanced Allocation devices References: <1443485439-12081-1-git-send-email-ddaney.cavm@gmail.com> <1443485439-12081-3-git-send-email-ddaney.cavm@gmail.com> <20150929192737.GA2517@sean.stalley.intel.com> <560AF3D7.80908@gmail.com> <20150929224727.GB2517@sean.stalley.intel.com> In-Reply-To: <20150929224727.GB2517@sean.stalley.intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [64.2.3.194] X-ClientProxiedBy: BY2PR07CA075.namprd07.prod.outlook.com (10.141.251.50) To BN4PR07MB2129.namprd07.prod.outlook.com (25.164.63.11) X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2129;2:HTJEI+n1LYyYBEdsS3CcSw60JHNaqopUmoMzPfxEHR/YBogXLgUURlC1soU7weSBMgTkkT+24blZaV1kQhTHr+3O6zKRunmr3h6/2HaAV0p1F1F90XLdSGsBk2vHp7oAflEDwEma/oqOmbVe1yBnbQ+9cJJGZsJJH95J09ooE+0=;3:Q1zJYQsLQN4LAQivcomDtFYW5e+VkSRxO8LPZUhZeeFsdoQBAuH5xoSJQxHJ6f4vHxTAqEXIpN75Za5FeT32t8hbqHaOJbGlXhwZRf4YT7rROxqN9E89aPPmomb/xu4D7bvXiUwO7WCf8XgR6iyidA==;25:ge/kllCV3leFB/koh5+nIa4Xrrs+8iVsLp519IquJKuoazM+YpCACPJZF47ZeKcuHLbeXI/RMfMW4FMTR8J1+4MZA8l9JzoHxV6P4d5RtRZjN+pNdAyamXFjdyJzVovZGJ0fRPQ60LoaAsxnQpYqbIPH+M0dR4UjtPI5KUGJGj4XX+ccXZypO3cpeajwCYiZ2Jo1S27k7tfPhsdiJcR2WNlMIiPok5naJ0IC+x6LOcN6mfu6+qOjHv4R3YLu2n2B X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2129; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2129;20:sN11wyEOOZLjgIcv2J/0lmxElsIPmlmUoGq9O+i3Da6M/+GkCvcYOfYlr0sk7ZA5XG6uMfquq1/JhlCSlSDKCZGvU8dKhC4K7uh6yel6opnlLm71+NYYz3CobVuPdIv63fBYsjQ3Y+bdAnaQh6sU1tVEUnvwn0uctp5Ba16P/o7nWLHK41iLTz8Sy0yiuGDhvClm6w3XeWP4TMR/Go+MYxVgOAj/wKGrXfUnN0LDW4zGL+9lYNfgitJHR48+0kebw3DyeE6N/xQaNFKD2RO3RzzVSsJFB0vQaQkN7UIGDpyLws1hvH3rHTvrinTPkLeTzcV3EKcWadYpyw+/e2eH4fGlL3BYVdzrE54/upSc4biouAvoFvyPJGfsPnL3aGwlxvT0z9UYh2JDAeJCNzhy/jgvPkiuSZmQG2PUzldp1UJJCHA7n53Pg8Qce1aN1A8f2tWoWLwqboWvXg4pLpTYcAs1QSgIxGAG2IL2RzhUQXsWaeWUsyw2uyNTanDLnMR+smaB1qTRO70eL+bMhTq0juIAx282bk3OrkeeXDRNwRgLoRo98ovwJp8YIeUnqLCfSqiZjKt/Vwa/Cypl1p2Bw0loT3ybBlQd2DeRMG0kaIs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001);SRVR:BN4PR07MB2129;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2129; X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2129;4:Bb75YR7JdyPqdYsOoOIPlTa5/NIsrPrFIS4maZxCNpYR4/a9EV1gelHOYxnJgS0hOj9RgXvuZIrLZVwPmngcwm03IqzQa2HgHMpRY9zVqt0Myi8+6vWbvSRQTbySMwOAFo7/lkVBhens14AFP9hMd8DXM6mdfUMDK3GY5aau6NVm8b7nikO6RhxU1EF5s54fLHun+YWOkFzXKvdqVe6RvuyjhAYXt/t5Dgbh0C7oyzDBR48bnAeY0OWDks0b2FTa/KQVS110euzLfnutEzYfcWq7wtTvn5F6I2Id1JDPfnhwPZpk8b5ULlMBI3WpHOJzpHf50xLLq4EPWYj/E8hxYU9FHJqEoBzovIo20ZAfo3g= X-Forefront-PRVS: 0714841678 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(199003)(189002)(479174004)(24454002)(377454003)(65816999)(83506001)(105586002)(5001960100002)(50986999)(80316001)(54356999)(4001540100001)(53416004)(69596002)(189998001)(106356001)(87266999)(50466002)(64126003)(110136002)(76176999)(77096005)(46102003)(77156002)(68736005)(62966003)(5001860100001)(66066001)(101416001)(87976001)(81156007)(42186005)(93886004)(122386002)(59896002)(64706001)(2950100001)(40100003)(97736004)(65956001)(33656002)(5001830100001)(36756003)(65806001)(23676002)(5007970100001)(92566002)(5004730100002)(47776003)(4001350100001)(5008740100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN4PR07MB2129;H:dl.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjRQUjA3TUIyMTI5OzIzOkdUcWpVd1ZLS1VLYlg3L0FWYzk1UTMxK3lN?= =?utf-8?B?RTdwWEVTMkU5NVZPRkVMRW9EaHlBejNVaEVCY2VuYmVyR01KVzhlNTIwdHRJ?= =?utf-8?B?RFFnd3JmVTFoWE9oRFRpaUNKQ2Jpb3UxQWROV25XUVYxeStURkJCem1PbWE1?= =?utf-8?B?UXdzU0ZxYUZLaGF1aEw3Y0YvMFBKbWs5NEZUNnhGYlArc3g5akk1YkNFNWlX?= =?utf-8?B?cmtJVGdNdXkzL21pNFYyekhCQ3JzQVJPb2lvSnJTek91L1VNdGZLdWxLODZr?= =?utf-8?B?ZVJ0TzJjenUyZnhJbTU3dFBrNGVxT0MyRlliQktzeG0wNlBhMEJPWkZZNFhj?= =?utf-8?B?cUtnYnVSL1FoNlhDdi90enBXd3hJUGJOK2xNUFNFeDBoek5WWEIxT1VWY3dn?= =?utf-8?B?VmhML0hTeHlnNytaa3RobU9ZNTY0bjlGYU0ra1VQaGorSHpjQzF5cEFVY3lB?= =?utf-8?B?V3hEUnhlSEUySnBhSUJranBPWHIzdk1TYTVoQjl4WERFVjU5ZlNrK21MdGtM?= =?utf-8?B?bytIWHFjS3F0M3VrMFIvTTJvUHo1K2huNUgzZW50UXlLbis4UzA1ckpxdEtM?= =?utf-8?B?NTdTcTh4VHVDZ3k1b051bWZjVGZwRkZjOVpzdlFFOWhhQWFMZG5HSkh0dTg2?= =?utf-8?B?d3lEbkpoY044TFVaTE9SakpnREpuMzFGaEQ1ajlIN0VmdUI2T0JWUWtPbVND?= =?utf-8?B?blI5WHVhOHFISE5haXdQV1ZEd040TVRCZURtZEVsclBnN1VJenRBUTBkcy9J?= =?utf-8?B?WmhVNVNBQ0w3ZDQ5eWhjU1UwNDVkRHo5dS9VSjJDY0hGNnBBNXhOS0xnanpm?= =?utf-8?B?a1JPOVkxdEtJbE93empBV1VRZytvdlRwRTFzNmVxdnZnemxJU050VXN2UmVy?= =?utf-8?B?ZG0zODVwbklYbFEwMTE5YnhoOFNlMjBhUGxvQjJDL0JGajdNQjQweWp1c2Ew?= =?utf-8?B?WlBZOHBiR1pDQkI5cjNkZGFuK0JxWXVhb1pYSnhZMS9rRTZTamZtaHFGQXVu?= =?utf-8?B?clRLYktqUytxTHk1b1dzVDRlUGhBOTg0S2hxc0oxMFB1STRCb0xiVEQwSjh3?= =?utf-8?B?dzV0ZGVQUVZFY1JmalMyQWo2c1Z1dzR2WXBqbFNGOCttV3c3WHozcmtMd3hB?= =?utf-8?B?b29FOWdnSWF1VjE2RmtMR1VndDZueHhwRFBDMDJNSlMvcUt2TUE0UzloZGlj?= =?utf-8?B?UzEzWmlSTlpCZHdBU2ZkdzI5R29wMGZneHMzdW9ST3RGT2dWdHpiM3dVa3Q5?= =?utf-8?B?V2dhSWNBR2FYZGVXbWNQVk5pZjczT21QdzZFVmdaRklNNWFza3dRZWJoR2ZZ?= =?utf-8?B?cmR0Y0xkQ2dlWHZGb2xGSlhHUnlCLysvdWRWY0NDRmFodzdCVXhPMFRSaXlY?= =?utf-8?B?Y1o1WThHd0JFWUQzUnJONUxJM29TTVZvbGZyS3ljVGNIbUk1UXdTdFNoa0Fq?= =?utf-8?B?ZXcxdERMWWRUZTAyVjRvdEpOQ2FhVkNTbmVrYTRIOFYwZVBySGdFR3M1aE40?= =?utf-8?B?c1BDSzBtZTh1dFJiZjlTcDh1Q1lzYkRmS3EvWmx6SHB0Y2cxaHNWeWRiWHZx?= =?utf-8?B?WFhISDQwc2pPYWlGMlFnSmJMNGhhQUZPTm1aM1hvOFM0RzhlZWZUYzVGRjFZ?= =?utf-8?B?VXdlcDVFdVVNT3RCTVRDUSt4dTkxVDdJWmtaaStSUDY0QTlXZEZzdVUybGdP?= =?utf-8?B?NXZMTXlDQzlIRU03NmhKaGtSNFlBWVRBeWpQTUxzKzdMN1JNdVVVSEZHalhw?= =?utf-8?B?RGRuWHc2NHJ6NmdwK0RDbUNnOXVnc1lwaDFpOWFCTjlrVVZINENHWXBCakdO?= =?utf-8?B?Wk0wblVzb21YWGhLNjN4VU5rK1NiaTlUYis0K3FKOVRkL0paZEJabTJlQ3hQ?= =?utf-8?Q?+iU9Cq6wnuheCwQMsLZWvLKrsaXalyhP?= X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2129;5:UrjjhI+85LSLDk1XnQJeyTcKvsztVejUJI54a1u/V9DP+fnANm8wqfcVKNm9uwC/QKB0DGcFU7frl7hbFT14E0eLfdAD8R/OE8TPUrTbMBjP58yR7DCwPaOqO8hXxExZCW63ibAgion8RulBQ6Qhbw==;24:u5CsYulT6Lc37Nzyc6+b1o//NdUzVkhwZ/YhdOPTNo+ZvlUaLyncApbPo+qLUToXybEbvbRfU+YS7/9SJwIbfOSHBo0G7r5vvCS676+XNRA=;20:7t542NpdW+/MqhC518mv4hP/S/toQdWAr/ii2QZZjJ0Pb4EJnW6AuvcG+RL6GhflGFF0tve36UrLdffbTbIPEA== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2015 23:53:26.9712 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR07MB2129 X-Microsoft-Exchange-Diagnostics: 1;BN4PR07MB2145;2:3bICV/FMOwY1FT6vSMnC15ede22+NRargW1AYmpX3PmSrWA2Iwwne96pMcdE0pTqaP5QHxRvc9AdkwKaFWtme/Wwg3FYAnbRBWlbTITVN9TF3OVU7TYTXHQ5o2Ocu1QZBKPyMlWFmGYSNyL7nOnblWiXFNqpPwkQVmCHt5qZALc=;23:Chuw4/iSXou0mc+3DCPXYcEI9+8TKuKHPDR0fzL+68FGIOOTC+YwSAXowY1x6yDknFFSQhHi6ELMt1aoVBpwq4VDBsfexyul2heZxYcfdZTo+bEEHpXzIxTb5XMdlgloPdHg5/HTLtudiDUsqAcnc8Fcx9d46NM3f2P6gBmVAhGBSOnw/jEocU831DSopJvg X-OriginatorOrg: caviumnetworks.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/29/2015 03:47 PM, Sean O. Stalley wrote: [...] >>>> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c >>>> index 6a9a111..7c60b16 100644 >>>> --- a/drivers/pci/pci.c >>>> +++ b/drivers/pci/pci.c >>>> @@ -2148,6 +2148,284 @@ void pci_pm_init(struct pci_dev *dev) >>>> } >>>> } >>>> >>>> +static unsigned long pci_ea_set_flags(struct pci_dev *dev, u8 prop) >>>> +{ >>>> + unsigned long flags = IORESOURCE_PCI_FIXED | IORESOURCE_SIZEALIGN; >>> >>> Why did you add the IORESOURCE_SIZEALIGN flag? EA allows for unaligned resources. >> >> pci_bus_assign_resources() fails causing the devices to be unusable >> if resource_alignment() returns zero. The easiest fix for this was >> to specify IORESOURCE_SIZEALIGN. >> >> An alternative would be to change the code in setup-bus.c so that >> for IORESOURCE_PCI_FIXED resources, it didn't barf. > > I would do this alternative, but with a IORESOURCE_PCI_EA flag. > I don't think we need IORESOURCE_PCI_EA. If a resource is tagged as IORESOURCE_PCI_FIXED that means that it cannot be changed, we shouldn't care why it is fixed (due to an EA capability for example). We just need to gracefully handle IORESOURCE_PCI_FIXED in the places where things currently go wrong. David Daney