From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933157AbcFISVF (ORCPT ); Thu, 9 Jun 2016 14:21:05 -0400 Received: from mail-bn1bon0086.outbound.protection.outlook.com ([157.56.111.86]:21371 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932380AbcFISU3 (ORCPT ); Thu, 9 Jun 2016 14:20:29 -0400 X-Greylist: delayed 3584 seconds by postgrey-1.27 at vger.kernel.org; Thu, 09 Jun 2016 14:20:28 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH V8 0/9] Support for ARM64 ACPI based PCI host controller To: Tomasz Nowicki , , , , , , , , , References: <1464621262-26770-1-git-send-email-tn@semihalf.com> CC: , , , , , , , , , , , , , , , , From: Suravee Suthikulanit Message-ID: <8a23e566-3aae-3af2-7b9f-e94edf1076e9@amd.com> Date: Thu, 9 Jun 2016 11:45:36 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <1464621262-26770-1-git-send-email-tn@semihalf.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BLUPR0401CA0010.namprd04.prod.outlook.com (10.162.114.148) To SN1PR12MB0445.namprd12.prod.outlook.com (10.162.105.139) X-MS-Office365-Filtering-Correlation-Id: 6bf05c3e-817b-4e44-d737-08d390857ef7 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;2:Ng02dmiTvy1imLwS/J2Kccg4ggrjP5fe3Yb+RZxKbEZ/OGFAgNjwc3sll2ka98dCrhqEH/REMaEsOgxImQMGQTfb2zj33V3YJUfK5g82uQwuMGSuoNxGgRcknzIyG2dsWPVqhQQh7TsfOH1j2AQTe1BNLa4vOZQXlAFW8NRgB7m8ktwDeq+JtPdmnquiDq5K;3:riSZRw58JRZNAG4yEsvuGZCh9gChfj2fbTWhEYgTQrPjTpR5vsQKMezu9cFWz16ksHJViKrYqr5R0wYX1aiVpI9MDzUHI+gOrMTf7hKx8OEUqguI1tLwVXUJsfCRSZ9y X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0445; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;25:whiCWApIM496SgjP1n9/cfC7M5KedG3TM5TuKSx7p4y/y6AlcIaU8DNXgEC9v9v+FeqS5XkFtu7SQWGwizVigc06gjx3hQlUajEvgLE0puU+W9qWRX+N+q1iue8dwSGUYWChAo3D4i0Du/1pOoYbA0NdqzU64dRb54///Q6PtVPKK8CLUgVmGcoq+1ZSehWoaRWm/rn2DNHSUwf1vlpNYK3PTRJ32a2Ls8h5XTIdrsWBDwCgIc54bA1ffNFLuLDq2xW9QRhLNx9UZkl4p1F47f6sDV9LaCdnDAgI3hhYMUia4pWq49yPNo1zC6/uHUQtBg9hbpI/sPc1cU4CfNlgWcY2OQhA3MsZI0CuVoqLc4YQWuvnCwOIcd4cXMlHPdaXDXjCBGco4ym/IC/oEvdU3YAhtM3T2MQ9/x5o5varFknWnontQm22mtsHyZnMYZlCPWggHK6CyG8TwvnFSTlXN25CCpsz6fcg6xjk54uIdIDi9IdmHH6c6lTT8oLHSHB2mCsjhN+fes5LCec4b1xtAa+fY/ZngjU85q6WNWGsSb4PTzO5+SMhK+3cRjcLIHKgKJbTXmc2qIscUeyvPXu+dyq3WZ8GoCY53qQDyTjFCzJ/nH6QwcNe03RbwafGKyzWid4GaEEHw974dLfx9Iy/1MMoPUUFKHLORLhUeVmdwVKe/Sq1mg+Viuh2DeR4IqQERpvooh36/C0TueV11CMg1UFsk+U7I6HXx+Xuql9qiuSj1en8eaaUIMSWTIjLw8/UQAUdo3Ad/o5hqOTctfWq7HVvnkf7gHo7nLXiJesA72k= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;20:tPYjO+4lfLfLgzUfaWwmMJqVpzKJpJTL5x0TgQwN8tx0SuGlELbafulrUMXHDLz8AI5EjTWqF8Xe3cUTlJrRfTxGW8RNzAQLaBqbJQEpurkOzGf2vRl8WbYaAuXbBfWoAyxvXH3/DH+WUhmn3Tl06ZyB+3BKerZ6N0TL4rSMwJojM+2hdvAf7rQHl1WCgYA0rcikCkKZuip8yUI/KLU+ccXnoxCIvxQwv56nuqDkBRHNNdGHE1MWSGtyK9XPLiGdcwlYktV7zMZtz0UBKG1yrz6h+of8Zc9UnQ35yrkq3r4PDVrz3Q76Lq1oZm6Zlt381LCgQnjYvBEzNd227iHXSUXd/n3h06KwycKl7NdBbadYxKSHehJ0HJjjKjCPIkS4ehPHkNHzs58sNSQ7i4iOPwCVZY0SM+ESHlWCzcQiaVo3ZqRSsHp5G5iFSTOB1aSEMRJBBWMyId3uLU6uaOwkoYN/QwLzKoMAjyCJnj7t+jjbNLk9r+cYKBz6XGm1jkIJ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(36064498253994)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:SN1PR12MB0445;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0445; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;4:wUxgFk5JejrBVFMUKLNiVO4/QcTRLHWF38ebiLekmBRWERk6pLSnrHvAgEQbKeHfnBIIbJcp9DR340UbmyxBmL5Kig4NTlDzTTzcO6+wkCNKDL/ZcgY1+TM+zCXOC5EiRJh/F4gx/vzOBzPsjajXNOIJ7tYmv23IFkDvHZNNL9gjuPmra/EHFGJDrcL/clz9227k+uCzJkUANFUokuHjyN8xq0LUGzEFay1Q8+AZZ4umkd6O0tM89kkIsBbzwz27DS9yiv4AokZ+57DFFm5hrC48gPOGhK6KPuyETU8GS9+VwDmkUFhXZmArQmpGoIO6h6jrSPTw6PUETrZPvV6zEmPEu9I2hzHhmngQZw8FCOrlUzXlvN2+FOqkSLKrR9Ets64ePkAbGcs883xrtT4bHGhPLc9OJvYQuvtpnCkY7L5zqHSlvbBt/E6qqPoFSAevtfa+6dRqYP6Izxrt6vuxbvTyImq39iky3dqYoGdLk90fsVRPFx8/Vt5Zr9o5Dxns X-Forefront-PRVS: 0968D37274 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(54534003)(377454003)(199003)(189002)(24454002)(50466002)(83506001)(2950100001)(3846002)(76176999)(92566002)(8676002)(86362001)(54356999)(23746002)(81156014)(105586002)(81166006)(586003)(65956001)(6116002)(31696002)(68736007)(189998001)(50986999)(5008740100001)(101416001)(5004730100002)(19580405001)(19580395003)(97736004)(106356001)(2201001)(230700001)(31686004)(42186005)(77096005)(36756003)(33646002)(4326007)(5001770100001)(47776003)(64126003)(4001350100001)(2906002)(65806001)(66066001)(15975445007)(65826006)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0445;H:[10.236.18.83];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;SN1PR12MB0445;23:SztC/8yNX2doVNkBd9ZnjOzatq34e33SYVGiY?= =?Windows-1252?Q?m2youDaaCSEaKxv1NO0aAp/Q+MCFFbvzx5kmbN9dHn2oof6PweWtnwVB?= =?Windows-1252?Q?bWXZ4blMO6jr93lXWWrHrbBQZqCgGtnXt8M4zH5Hp96INYkkW3OoBNZx?= =?Windows-1252?Q?bP4oWzG+7/+1M0bEbSGrNkS00YyAjfZgNhZnOKZalmXLW23tCRQ+elUE?= =?Windows-1252?Q?7HjT1Y2Ui/MWpG0KbZzo8KceH1srvyV32CAZnZMq37BLry0aYexdsNPW?= =?Windows-1252?Q?mh554QYolrlr6Vk8cfm0+yHeR5MqzwInzdez5kWHYxZ9Sff5vv1uD+mZ?= =?Windows-1252?Q?NBviH3h5LXLlbxOErd3EReWQ7s4FwU2xY6OzcDievBcxrQFuN5EE/O69?= =?Windows-1252?Q?g2VDS96HYZskrmqu/4mx9rmTjcXUbmjBhBoqd4Vga/O0xPzekO1qiiBu?= =?Windows-1252?Q?CoZ6u21ClcxgSuIMy+C5b+u0otXnk+j3fC8pWgvuGa/q9NwWbi/jRdQZ?= =?Windows-1252?Q?hs5bpcSdl78Kh9qavX3TxM4c+kWbARcCHEhN8aNhfbeeo6+sbKPWD5Pf?= =?Windows-1252?Q?YC1PbkfALd0F5yohaibZ7WxU348OpVzS5ublL6pJBomtojTlLOyha3db?= =?Windows-1252?Q?0NvF3iBjmB5aHAtrLPBsVJ81QIZTFVKNo5bqw1cZIPLkgvDAOIKvIdAN?= =?Windows-1252?Q?k9663+xnXIJj51L6YoiuRz2YVjfgVD1QK3A78ASYj8xo3o/o0vtOcOJu?= =?Windows-1252?Q?T47kxJYkOGSbwDuv33u7Gl1V/ZOEHAYYWwAMmtN9k3sIFpR1C89bXpHj?= =?Windows-1252?Q?tUP0jJYr/PngWUxGvPN3zFyWJQ39dyUwP/NwT3zVBhwu+K/KCC4gNwMz?= =?Windows-1252?Q?tU907wHFGJWVsbpPpBp9YGcjcT3KVTbG8X4TnBs5tJ4rqa1T45nmcASw?= =?Windows-1252?Q?7xHDOjGo0r74/WgonDURiqo+Xi7CbF2n+ME5ASCUjBhYkqTTeVeBz2Z9?= =?Windows-1252?Q?GJcWpgYyudaUoF2DWw3O1pM03QPfk3FqR2jdBicB+w/jl3iDxTktMR+a?= =?Windows-1252?Q?Y7A9TWV8Q5EZX1C7/48S1uIJK62nKuhYD/TK8WBOWW2W5zssbfLR19ZP?= =?Windows-1252?Q?Z1xAA1TEfxJYY0oCMjpP79Dgfd7u8iXoWkAwFDKKlggLlpvDzpLb5z7y?= =?Windows-1252?Q?PSrhUImduGAquODxJsuhAOvQUfD3MjQSfFFcVT4yG2h5K6VDPjRnU9+K?= =?Windows-1252?Q?e+aA1FG9iuJl2fKsq+Pp24ZQuZVg0X0Vm4yR369q55iuZebGQncZDUGI?= =?Windows-1252?Q?RYeW+g1AquN6K07dHtGGUagRLgcfqy1Pt6Tpc579dVhZr7FeHiDnG6cW?= =?Windows-1252?Q?pI9ZujA0y8P8T4YgxezSuhJW5WmP1PV/Gq8ECpw7gYsJuGHsND9MyYRq?= =?Windows-1252?Q?MK21JgriPVKNua6gTfjDTVrJVAggRN22PbkUVVNNA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;5:ugz+l3Tn4Y/W0p530TcBLHj1zW6IQblVuWYPUnkpXi911MX31ykgRFAMCt9tDzHzw11IrE0JNXY+5LVIfX5PQ1tBLWzkFBNCgLbBgRPaSm/fAvYsRsHruUuoa6ggjPl8eGhXhGrrEN5Ceku2M7F/Hw==;24:PBSeUWcZbtJVeLim78QMF7CuGNwYZBra50cluaL5tDCZtp75NiRvev+/ateBQ+cExoH1FXnmob3toLx/smURKyY6+qN3EqphOszYWyJkyhE=;7:fU8Vrs5usTn11AMMmC0ZJ4zAuRbCpNLlJIM/dW0MS8MMz4+OiKW7oghNnjKXn4bHWI7fmGIHodv1J3UYtHWgwC8DnmVxtJ/hZe8LQ0JU4lO12vDYG/vPJFE36r5tV+IjRGDs4paoo49Y/TMFDjD4z4lWfQUCcTVxK2/47qAUJQVSsRV1g48p8gnhO5AlKBweDgOd07bMJHqrBu+C/pizWIXtX9sIt7Y+7EVkWty/XHc=;20:sGVt0KjAcsYgYs3cqQSK194zPvXQp5XtJ/q/OkyLALKtnuhj1793gLy2ZfCeQTIEB8+amrSZGNkKXZ7zKzpMOZT+hDYiTNZFiBzEvq7cyuFtSinG2sjPfhG2UYSeveQo2ie03S/Eob0q13XG2aG9KtuvOFBUKg32xScTo8x+7YjXZNzjdDcy5qalllqoOSkV7YcOkIanV7qeDLsLm+bTGK7V/8YyQAgCtfNaI34fYb1t0Lkwcr/4fv8fqWsg7cxV SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2016 16:45:40.3030 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0445 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/30/2016 10:14 AM, Tomasz Nowicki wrote: > From the functionality point of view this series may be split into the > following logic parts: > 1. Export ECAM API and add parent device to pci_config_window > 2. Add IO resources handling to PCI core code > 3. Support for generic domain assignment based on ACPI > 4. New MCFG driver > 5. Implement ARM64 ACPI based PCI host controller driver under arch/arm64/ > > Patches has been built on top of 4.7-rc1 and can be found here: > git@github.com:semihalf-nowicki-tomasz/linux.git (pci-acpi-v8) > > This has been tested on Cavium ThunderX server. Any help in reviewing and > testing is very appreciated. > > v7 -> v8 > - move code from drivers/acpi/pci_root_generic.c to arch/arm64/kernel/pci.c > - minor changes around domain assignment > - pci_mcfg.c improvements for parsing MCFG tables and lookup its entries > > v6 -> v7 > - drop quirks handling > - changes for ACPI companion and domain number assignment approach > - implement arch pcibios_{add|remove}_bus and call acpi_pci_{add|remove}_bus from there > - cleanups around nomenclature > - use resources oriented API for ECAM > - fix for based address calculation before mapping ECAM region > - remove useless lock for MCFG lookup > - move MCFG stuff to separated file pci_mcfg.c > - drop MCFG entries caching > - rebase against 4.6-rc7 > > v5 -> v6 > - drop idea of x86 MMCONFIG code refactoring > - integrate JC's patches which introduce new ECAM API: > https://lkml.org/lkml/2016/4/11/907 > git: https://github.com/jchandra-brcm/linux/ (arm64-acpi-pci-v3) > - integrate Sinan's fix for releasing IO resources, see patch [06/13] > - added ACPI support for ThunderX ECAM and PEM drivers > - rebase against 4.6-rc2 > > v4 -> v5 > - drop MCFG refactoring group patches 1-6 from series v4 and integrate Jayachandran's patch > https://patchwork.ozlabs.org/patch/575525/ > - rewrite PCI legacy IRQs allocation > - squash two patches 11 and 12 from series v4, fixed bisection issue > - changelog improvements > - rebase against 4.5-rc3 > > v3 -> v4 > - drop Jiang's fix http://lkml.iu.edu/hypermail/linux/kernel/1601.1/04318.html > - add Lorenzo's fix patch 19/24 > - ACPI PCI bus domain number assigning cleanup > - change resource management, we now claim and reassign resources > - improvements for applying quirks > - drop Matthew's http://www.spinics.net/lists/linux-pci/msg45950.html dependency > - rebase against 4.5-rc1 > > v2 -> v3 > - fix legacy IRQ assigning and IO ports registration > - remove reference to arch specific companion device for ia64 > - move ACPI PCI host controller driver to pci_root.c > - drop generic domain assignment for x86 and ia64 as I am not > able to run all necessary test variants > - drop patch which cleaned legacy IRQ assignment since it belongs to > Mathew's series: > https://patchwork.ozlabs.org/patch/557504/ > - extend MCFG quirk code > - rebase against 4.4 > > v1 -> v2 > - move non-arch specific piece of code to dirver/acpi/ directory > - fix IO resource handling > - introduce PCI config accessors quirks matching > - moved ACPI_COMPANION_SET to generic code > > v1 - https://lkml.org/lkml/2015/10/27/504 > v2 - https://lkml.org/lkml/2015/12/16/246 > v3 - http://lkml.iu.edu/hypermail/linux/kernel/1601.1/04308.html > v4 - https://lkml.org/lkml/2016/2/4/646 > v5 - https://lkml.org/lkml/2016/2/16/426 > v6 - https://lkml.org/lkml/2016/4/15/594 > > Jayachandran C (2): > PCI: ecam: move ecam.h to linux/include/pci-ecam.h > PCI: ecam: Add parent device field to pci_config_window > > Tomasz Nowicki (7): > pci: Add new function to unmap IO resources. > acpi, pci: Support IO resources when parsing PCI host bridge > resources. > pci, acpi: add acpi hook to assign domain number. > arm64, pci, acpi: ACPI support for legacy IRQs parsing and > consolidation with DT code. > acpi: Add generic MCFG table handling > arm64, pci, acpi: Provide ACPI-specific prerequisites for PCI bus > enumeration. > pci, acpi: ARM64 support for ACPI based generic PCI host controller > > arch/arm64/Kconfig | 2 + > arch/arm64/kernel/pci.c | 143 ++++++++++++++++++++++++++++++++++-- > drivers/acpi/Kconfig | 3 + > drivers/acpi/Makefile | 1 + > drivers/acpi/pci_mcfg.c | 94 ++++++++++++++++++++++++ > drivers/acpi/pci_root.c | 39 ++++++++++ > drivers/pci/ecam.c | 6 +- > drivers/pci/ecam.h | 67 ----------------- > drivers/pci/host/pci-host-common.c | 3 +- > drivers/pci/host/pci-host-generic.c | 3 +- > drivers/pci/host/pci-thunder-ecam.c | 3 +- > drivers/pci/host/pci-thunder-pem.c | 6 +- > drivers/pci/pci.c | 29 +++++++- > include/linux/pci-acpi.h | 2 + > include/linux/pci-ecam.h | 67 +++++++++++++++++ > include/linux/pci.h | 9 ++- > 16 files changed, 387 insertions(+), 90 deletions(-) > create mode 100644 drivers/acpi/pci_mcfg.c > delete mode 100644 drivers/pci/ecam.h > create mode 100644 include/linux/pci-ecam.h > For the series, Tested-by: Suravee Suthikulpanit Thanks, Suravee