From patchwork Thu Feb 4 17:28:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Nowicki X-Patchwork-Id: 579066 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9212B140CAD for ; Fri, 5 Feb 2016 04:37:30 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=semihalf-com.20150623.gappssmtp.com header.i=@semihalf-com.20150623.gappssmtp.com header.b=cf73XCe3; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966046AbcBDR3E (ORCPT ); Thu, 4 Feb 2016 12:29:04 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:35771 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934526AbcBDR3A (ORCPT ); Thu, 4 Feb 2016 12:29:00 -0500 Received: by mail-wm0-f53.google.com with SMTP id r129so222642641wmr.0 for ; Thu, 04 Feb 2016 09:29:00 -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=kFXzoleoPyxjgqNTny/2XMTHoclmHjFmx+86DJoHfcA=; b=cf73XCe30SbuNtppSHojxwfO3w0xD+Q/V44w6u6eyQ1Z5o6ya5sVeJ3r54ErDl7xTC yP2/Al5krbQpX6xrl+TEQ/AFOGW3evDb+VSA/x91G0KhCbwCquxGg78z1lyOFnB6+mlE eHSmuC5lo1CyRCkMuRqHrnd8NxCf4P8BOKECOWZBNfDklFSDGGZ+d5upE63CggQG5/oS 1IqRYy7x/U5TyOBjFMkz4AqeX5J5QTZlXfZr5jcmmt7KHNn4i97S8gIfja1g0gNa8vX+ Tbi2k7pDke4CD+0n5CKeSvlMYkJJchbrpvjW/G+QjohwUDw8l4a1sIPNzxgyaOKTDyPa NeEw== 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=kFXzoleoPyxjgqNTny/2XMTHoclmHjFmx+86DJoHfcA=; b=MDFQ2Liej+ImSt64nu4qXbYyzDPqd+2eFfm2VzNeUyhOp0Uy6T2Y0hwFz+6NjbZlQp JJKvp0NSRsUNEmimlKmhmtj1KOqfrFAu2u49esMG4okvJ2iWUHLWSM0C4u7shdczWckZ /EinOSEL7WXV0tGJVwza1n2Q9715FYZUPYPLSLBcdop7biOGolfequq+XMoj63wDl/a/ Y0jYo+BSWnlTcyyNhUJBwdegje+pEhtsGghuKsuDFWu4buDxkepswZHKscwefsggPInW zHsbzBdPmlovVf8k+D6W2mAUDKGlMvc2FF2nRD6o5wZaxmF13MudSGXGWUY9Csw8t3hM 2qAQ== X-Gm-Message-State: AG10YOQ+QgwU9EEYM5Pz1t6CwVYtOZMwPBS+5KUr2EEie8eE4K+btf/K6c6Svu6EKP5zxw== X-Received: by 10.194.21.135 with SMTP id v7mr9335396wje.131.1454606939606; Thu, 04 Feb 2016 09:28:59 -0800 (PST) Received: from tn-HP-4.semihalf.local (cardhu.semihalf.com. [213.17.239.108]) by smtp.gmail.com with ESMTPSA id w8sm12238889wjx.21.2016.02.04.09.28.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 04 Feb 2016 09:28:58 -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 Cc: robert.richter@caviumnetworks.com, mw@semihalf.com, Liviu.Dudau@arm.com, ddaney@caviumnetworks.com, wangyijing@huawei.com, Suravee.Suthikulpanit@amd.com, msalter@redhat.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linaro-acpi@lists.linaro.org, jchandra@broadcom.com, jcm@redhat.com, Tomasz Nowicki Subject: [PATCH V4 03/23] pci, acpi, mcfg: Provide generic implementation of MCFG code initialization. Date: Thu, 4 Feb 2016 18:28:41 +0100 Message-Id: <1454606941-9523-4-git-send-email-tn@semihalf.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1454606941-9523-1-git-send-email-tn@semihalf.com> References: <1454606941-9523-1-git-send-email-tn@semihalf.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org 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 Tested-by: Jeremy Linton Tested-by: Duc Dang Tested-by: Dongdong Liu Tested-by: Hanjun Guo Tested-by: Graeme Gregory Tested-by: Sinan Kaya --- 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); +}