From patchwork Wed Dec 16 15:16:13 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Nowicki X-Patchwork-Id: 7862471 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 3DD829F1C2 for ; Wed, 16 Dec 2015 15:20:05 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5679E202FE for ; Wed, 16 Dec 2015 15:20:04 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A0CD72038E for ; Wed, 16 Dec 2015 15:19:58 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1a9Dqg-0000yn-QQ; Wed, 16 Dec 2015 15:18:38 +0000 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1a9Dq9-0000eq-VP for linux-arm-kernel@lists.infradead.org; Wed, 16 Dec 2015 15:18:11 +0000 Received: by mail-wm0-x229.google.com with SMTP id l126so44163214wml.1 for ; Wed, 16 Dec 2015 07:17:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=mXhJ/SeA6sTM2vrPHXOs0ObbB8cWs/eeyC2PGdcp/ak=; b=b5nK/oaBedCfGld3F5giZkDw7AuLL1yDx3+R9gLlNKUy/iJd+65i/P9t8UHYl99yXy 02cuB7g0lyjnliE1JkYRWwR8eQB51kB8HVn5OcjT1TAP3RlXVmqJ4Vb/JTHzpr2LtScQ ABsMwFu7vM+FZTZlEhw9XCi4B8X9L3APdFzJX24gAhzHdlWePh6W4MMda5pZT3lnJqCV dQG5U0fbKiFCotMDJGcHFn7QiErL6ny7fNBWVzcC/WI8ZIxa/XEs8W3OFG3XImyzsVuc iS3KAKSUQ6EIkLuycunyzHIBRPfsFJ8jucBRCw+1QbqvxtjNo6gfMbJ1mB9TNmNLmxxO Py0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=mXhJ/SeA6sTM2vrPHXOs0ObbB8cWs/eeyC2PGdcp/ak=; b=fD+okdudcGfqiTKKM0Ociegd+M8dboCkF7bP+UgcxMKVAF2CsfODlF/I8LGXwpNB6M KmMVUeuzM4nK/nFIOpOYuYPIX7gDkTap8sWzo+0EwUED4ClSaMdB3VevQmbCB1lkLqUX ad//wCwTxgAAQLXQRiRus8yK6ZUPuDtQAJ0a0DICvX0OMzfiax68qrw5dd4rkGpbmN7h oXu0v9JEwk/87G8gBl16p3xXSGkoCoVC6rIMKooW56VIvO4UU21UeDSGVhL461eqgN7Y 15S0eI2c62aGbSX5jKj5UGQ2mdZXzKCzQcO+AewkOsuxaUlLPUBf67l0cb3i786y9QWH mjZg== X-Gm-Message-State: ALoCoQlI3TW72bQ9fubeN8iZP/xzUeHW+qtoAq83yZRYCnMALCpW7mTtyadYzJibGB212sr8u3nPnrUuPG86NN6I0n60jOP28A== X-Received: by 10.28.125.201 with SMTP id y192mr12609334wmc.23.1450279064376; Wed, 16 Dec 2015 07:17:44 -0800 (PST) Received: from tn-HP-4.semihalf.local ([80.82.22.190]) by smtp.gmail.com with ESMTPSA id z17sm6438761wjq.1.2015.12.16.07.17.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 16 Dec 2015 07:17:43 -0800 (PST) From: Tomasz Nowicki To: bhelgaas@google.com, arnd@arndb.de, will.deacon@arm.com, catalin.marinas@arm.com, rjw@rjwysocki.net, hanjun.guo@linaro.org, Lorenzo.Pieralisi@arm.com, okaya@codeaurora.org, jiang.liu@linux.intel.com, Stefano.Stabellini@eu.citrix.com Subject: [PATCH V2 03/23] pci, acpi, mcfg: Provide generic implementation of MCFG code initialization. Date: Wed, 16 Dec 2015 16:16:13 +0100 Message-Id: <1450278993-12664-4-git-send-email-tn@semihalf.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1450278993-12664-1-git-send-email-tn@semihalf.com> References: <1450278993-12664-1-git-send-email-tn@semihalf.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151216_071806_325796_B7072646 X-CRM114-Status: GOOD ( 10.71 ) X-Spam-Score: -2.6 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jchandra@broadcom.com, jcm@redhat.com, linaro-acpi@lists.linaro.org, linux-pci@vger.kernel.org, Liviu.Dudau@arm.com, ddaney@caviumnetworks.com, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, robert.richter@caviumnetworks.com, Suravee.Suthikulpanit@amd.com, msalter@redhat.com, wangyijing@huawei.com, Tomasz Nowicki , tglx@linutronix.de, mw@semihalf.com, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP First function acpi_mcfg_check_entry() does not apply any quirks by default. Last two functions are required by ACPI subsystem to make PCI config space accessible. Generic code assume to do nothing for early init call but late init call does as follow: - parse MCFG table and add regions to ECAM resource list - map regions - add regions to iomem_resource Signed-off-by: Tomasz Nowicki Tested-by: Suravee Suthikulpanit --- drivers/acpi/mcfg.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/acpi/mcfg.c b/drivers/acpi/mcfg.c index 5ecef20..fad9917 100644 --- a/drivers/acpi/mcfg.c +++ b/drivers/acpi/mcfg.c @@ -57,3 +57,29 @@ int __init acpi_parse_mcfg(struct acpi_table_header *header) return 0; } + +int __init __weak acpi_mcfg_check_entry(struct acpi_table_mcfg *mcfg, + struct acpi_mcfg_allocation *cfg) +{ + return 0; +} + +void __init __weak pci_mmcfg_early_init(void) +{ + +} + +void __init __weak pci_mmcfg_late_init(void) +{ + struct pci_mmcfg_region *cfg; + + acpi_table_parse(ACPI_SIG_MCFG, acpi_parse_mcfg); + + if (list_empty(&pci_mmcfg_list)) + return; + if (!pci_mmcfg_arch_init()) + free_all_mmcfg(); + + list_for_each_entry(cfg, &pci_mmcfg_list, list) + insert_resource(&iomem_resource, &cfg->res); +}