From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759034AbbJ3QjI (ORCPT ); Fri, 30 Oct 2015 12:39:08 -0400 Received: from mail-bn1bon0077.outbound.protection.outlook.com ([157.56.111.77]:28576 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751304AbbJ3QjF (ORCPT ); Fri, 30 Oct 2015 12:39:05 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NX1KWY-07-0P7-02 X-M-MSG: Subject: Re: [PATCH V1 00/11] MMCONFIG refactoring and ARM64 PCI hostbridge init based on ACPI To: Tomasz Nowicki , , , , , , , References: <1445963922-22711-1-git-send-email-tn@semihalf.com> CC: , , , , , , , , , , , , From: Suravee Suthikulpanit Message-ID: <56339D1E.20605@amd.com> Date: Fri, 30 Oct 2015 11:38:54 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1445963922-22711-1-git-send-email-tn@semihalf.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.180.168.240] X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(164054003)(189002)(24454002)(199003)(479174004)(54356999)(87936001)(50466002)(97736004)(92566002)(105586002)(33656002)(5004730100002)(11100500001)(23746002)(53416004)(47776003)(65806001)(76176999)(106466001)(5003600100002)(15975445007)(2201001)(36756003)(5007970100001)(4001350100001)(77096005)(19580395003)(101416001)(65816999)(86362001)(5001770100001)(5008740100001)(83506001)(189998001)(65956001)(64126003)(2950100001)(50986999)(19580405001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0719;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0719;2:x1zpLCjXdd6v+FwUFZYTG6r1K7JnL+B5rwvLkiskTzZPStSsQ6kZTbiRUnWe+FmLkhVgtag8d/q0B2M5g+RAy2dJvVlOaAXHsKHhOyb3DEA2JLZ2TlZ44MG4y9iKA4WVxz0Gu00Va+zTEuKgTW06E3c/XBQJ6Abv/lQ8L3j+dC8=;3:lkCWZ8QYy84t/+878ONYJ8j6KcN5usFPPlbJnOXdF0S13RE6K7chBrhV4yf80Fu1X9ookC4dLmci/dhawvnstE0I4EhQdp5yMJYDKISXnBpDHw5vdRnoEUUXw3BzgWSReMKFAFiNYlZczShS+OiWJBlYFUO7fpwcf7vj0KpXDv7j78r+OLC2LAJh74ZsfCXgyVyrJoWlVGbCuFKPtsBnmewAWwQZ3sAUmEsB6vMuU/1yFwQj0UTuQxSWQvzQylPB;25:UENHctptBT0O3M4cCr9lzmtxYx+RgeAN1CcNa2SQb8qP0lIT2hHvXLGmznByTw8j7Yk8Q3SpOvgv0shBSgeiiWHE/1dw2y2dy69AVfAo5kSie/fh9COfgruAke0bMU67PDvO9TWxNf9/J1sk4JWwQE1qprAF05YN85BteT3xeMZrsFmerYDP3a197LHTEBDZB5p9X82HXkLWn+Z+L+QaQQfx9NUP8JaiQvxV+xQ+p0f6zHyLih7gPLoJipjxUEZ5bxJmHY4od3sN3m+GCOVzbQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0719; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0719;20:kAgAmQMbe0VOtmKgIN/grE0v7pRAh3BsuW2Kgcf/iT0M8/Uku7LhYIVPFv5f+fEpFY/L+mAkQvZFQC9lHGo+e4k3vlwAjCUDCpnrxjWBgoLcN4NC0ZWmKZMQsMd7fLgbe+WPoVfH9yO01gEuAoCOjbxXZRoZZBP55eX2OO1CVwbTZgx4xpvitOTG40YH6mllzbhDCgWUbRlL/AsRfOjwSx2bJjGaxEaSY5kQZ5K56kYcPLgffFl4gS9uDa/VbwVepIpx2QbnHhyYin041N10aycEPIe9ACEIEq/aOZWG2fYAVzhcROlIwE0ntjggKhxqaPMtXXlg04/8k01SCxyg0Vmkekxe3gz/NTIS1XSzlnOpjRjqSVjY2fkUy9ao/ZsO68P7a5QU49sJiPnP+ldzBXJCJKpu+PAWdEPWl5JQCPqmlLKiA6Lb+DlPUYz1Q5rWdLIQsAmNg/DbTNNcxv17q9Frkdk/zWjRpBCcPCkntE2+7bcvL5ydeZesJNVRJnIG;4:ifuNiiE25fGg46SupTR8iuKYenWLI7EXhSWVbY2tBAzf0KqLQWSWsCTYsonx/Gu77Hyhn/Z/DSo1sNQrfLuAcMLKzwl218OLEnzJop4/LrcQpJvhLaxOGHvr+5SUvzeH+uEIlwrYjPxmVH8QCu4CCylE49A2LFbwdH6e/N81frarpEwaEaKsxaEcbbou8lRlz28FYjC+NEBDJtvoKBhCGDqZWmL5VbOGgeKSZOYChTF50giIR7/JqmLxcgtyC0TCrPk0CkhIdSIQqyV6w/Bwyzh1h+tyED9WAClOcv76dVnwYFD1cV2gwvy97yra2UGvfBlTwMB47HgNaNQgXFPmY5NIiYeGaFh7HZUcHX+hy9BvniWkhfHRDze6Jupi3b8Y3WGOclUCSz1rHxEmerThWA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001)(10201501046)(102215026);SRVR:SN1PR12MB0719;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0719; X-Forefront-PRVS: 07459438AA X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;SN1PR12MB0719;23:JripVYZZw2CTiCpC/KRGFgd/d+QnF2qJcFtAS?= =?Windows-1252?Q?cJ49oHhxrp0o2j2g8JNkcniiIiATloJbmrJULnswUERueNaTxK05xesq?= =?Windows-1252?Q?NLKCUMmhCXXKb69gkBtZ93WjuBsLgyJgsqK/3ihlxLnVUzuX2K1ZD0/8?= =?Windows-1252?Q?RG/pSssl5575zUL0Ki21wPq/wdLMgESh3Vc3871uvdtRQ42qLWpese/m?= =?Windows-1252?Q?GNcC8LTqGAQUnKI2d0gJDupluo4viqqQm6bmKJpAHLo2o6/e8I5MlQv0?= =?Windows-1252?Q?ClF62Hru+VzGlrDEC0IqbvJTTgbe8JP7Qo3AzbPQ/7jnLbDEXBFFzNXD?= =?Windows-1252?Q?Fb8IiGcHqQ2CyC94KZGqzlPFu/obfnTsl4HM5Tw+kpORstZ6rVqxMHoV?= =?Windows-1252?Q?fMbIB2XhlI+LXDbEmDsXsCsHf8ne88+NwaptX25OaZGGsEc4Lb1sqodO?= =?Windows-1252?Q?/wQiESohYF4f4JEAtjKQpmsYc3/aEye1SqpGJjYg69/OJUr7S1muSta/?= =?Windows-1252?Q?J5ySctcW/RyMer3Cxw1NeNaxLpEqIYCiwoDI8NLXlyC+EGbFKhy9SM/k?= =?Windows-1252?Q?A4XUAMtz9th2MVbxxppf6f7w8hJ/dZCFHm6p9olkGET0vmWvVFC2rkO4?= =?Windows-1252?Q?eSI+KXRwRhXpaQTggwzrvpr75ELYUqDXujEEWnKP+W/TornbmBKOUk2w?= =?Windows-1252?Q?i7Nuz3k0MCfKAl7FBNO4QLzzTnYiT6JpTfzrC95IvoDNroW3O3yY5pHm?= =?Windows-1252?Q?FMVJfbCDepGkgFD9fENXH2q5c5nUa7loMVHhuuZt6iMJSIUoqkuUFWco?= =?Windows-1252?Q?v6wp/VHEEtjuhevsD3FnCTz0YFerT1qQjEMmjiJjas6xctj5tjYesTgq?= =?Windows-1252?Q?gWegNDbyiKPdC1mEQpO3LSFMgVVxPqP/D5NTYoRVtDcxfaLonsq9Fzkd?= =?Windows-1252?Q?UZ5ljVOabPGIHiJ5cACvxE7DdX4M3W0wtkDBZXUxgQzzwrUrXNkzqhGg?= =?Windows-1252?Q?ORe2j0YK6EHdEe3sdCMHcQpLjAkCUKrtcTgIY43TtuEBpw+15fSDY2jb?= =?Windows-1252?Q?CKwest+4BEaDVZWJlvimyUogBPq9oczJoO9LNIIHe6WQf38JBBgtzVCM?= =?Windows-1252?Q?R5FUJ01h8ao+hTGqSkvNyml8tiR8u+sz/7tymfSMfmP0+0ZRDUAEjBtO?= =?Windows-1252?Q?8DaVofccg46M0dHwFltdpk3igTprZMQAYYDlhgV5RWXP6LOPRtvSawsy?= =?Windows-1252?Q?5AY4ilEExKsMN9zZGRfTlythcYPNB9Dn6E1a74=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0719;5:1IFUWdqNIFuFuVpYavwNPkRSwGG/VtjgcpvkEaw1+ElXSGc2MBmyjWR5PuiWJmc8Dt0AJgpJt0SaFzwQHOQoGP8Cr7aghsSe06XfVVskECC1XnslhsYanaF3CCbHUR4kPe8zlm6ZzkRXqCUam2tRxA==;24:BCSaTDwaB8JOgR3wI6XtkyAshpDwO+qk3bgNW2dGK9fQfDREfcQrp/qDQwxh3Ol6xD1OlkfdxlFi1jpd99jg65W7xJH8xaPSdilIOPg6dVo=;20:rbTgc6X5bkOntlwaZ60neBX3KsIXwX7zVpUoHc8dzqii5UFnRnQvEvhzNp6nOnTsCOAd3qc2C79z1vfgtNuPGXbn1PYXpIA5B9VDWZVibbT6972Dgu0jx+0UCNDG25qJsTD/I+Lph1uuV6DuaJf+Gy1xZJlh7sHt9aeEcsw2nC4SttSd8W/dQktK5p3vfqnDLshW6ExBS5hhC9RHMD3MGnVoUpBNI2IG3EqsPkqlfsLI2tQyjKXeO0QI5loWwtRy SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2015 16:38:59.4617 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0719 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Tested on AMD Seattle platform (Overdrive revB) w/ both MSI and legacy interrupt. Tested-by: Suravee Suthikulpanit Thanks, Suravee On 10/27/15 11:38, Tomasz Nowicki wrote: > From the functionality point of view this series might be split into two logic parts: > 1. Making MMCONFIG code arch-agnostic which allows all architectures to collect > PCI config regions and used when necessary. > 2. Using generic MMCONFIG code and introducing ACPI based PCI hostbridge > initialization for ARM64 > > Patches has been built on top of: > [Patch v7 0/7] Consolidate ACPI PCI root common code into ACPI core > https://lkml.org/lkml/2015/10/14/31 > Git branch can be found here: > https://git.linaro.org/leg/acpi/acpi.git/shortlog/refs/heads/pci-acpi-upstream > > This has been tested on Cavium ThunderX 1 socket server. > Any help in reviewing and testing is very appreciated. > > Hanjun Guo (1): > XEN / PCI: Remove the dependence on arch x86 when PCI_MMCONFIG=y > > Tomasz Nowicki (10): > x86, pci: Reorder logic of pci_mmconfig_insert() function > x86, pci, acpi: Move arch-agnostic MMCONFIG (aka ECAM) and ACPI code > out of arch/x86/ directory > pci, acpi, mcfg: Provide generic implementation of MCFG code > initialization. > x86, pci: mmconfig_{32,64}.c code refactoring - remove code > duplication. > x86, pci, ecam: mmconfig_64.c becomes default implementation for ECAM > driver. > pci, acpi, mcfg: Provide default RAW ACPI PCI config space accessors. > pci, acpi, ecam: Add flag to indicate whether ECAM region was hot > added or not. > x86, pci: Use previously added ECAM hot_added flag to remove ECAM > regions. > pci, acpi: Provide generic way to assign bus domain number. > arm64, pci, acpi: Support for ACPI based PCI hostbridge init > > arch/arm64/Kconfig | 6 + > arch/arm64/kernel/pci.c | 208 ++++++++++++++++++++++++++++++++-- > arch/x86/Kconfig | 4 + > arch/x86/include/asm/pci_x86.h | 28 +---- > arch/x86/pci/acpi.c | 17 +-- > arch/x86/pci/mmconfig-shared.c | 250 +++++++---------------------------------- > arch/x86/pci/mmconfig_32.c | 11 +- > arch/x86/pci/mmconfig_64.c | 67 +---------- > arch/x86/pci/numachip.c | 1 + > drivers/acpi/Makefile | 1 + > drivers/acpi/mcfg.c | 104 +++++++++++++++++ > drivers/acpi/pci_root.c | 2 +- > drivers/pci/Kconfig | 10 ++ > drivers/pci/Makefile | 5 + > drivers/pci/ecam.c | 234 ++++++++++++++++++++++++++++++++++++++ > drivers/pci/pci.c | 30 ++++- > drivers/xen/pci.c | 7 +- > include/linux/acpi.h | 2 + > include/linux/ecam.h | 44 ++++++++ > 19 files changed, 691 insertions(+), 340 deletions(-) > create mode 100644 drivers/acpi/mcfg.c > create mode 100644 drivers/pci/ecam.c > create mode 100644 include/linux/ecam.h >