From patchwork Fri Apr 17 07:14:57 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Nowicki X-Patchwork-Id: 6228551 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 0269ABF4A6 for ; Fri, 17 Apr 2015 07:16:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 16B3320381 for ; Fri, 17 Apr 2015 07:16:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3088E2037D for ; Fri, 17 Apr 2015 07:16:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751091AbbDQHQi (ORCPT ); Fri, 17 Apr 2015 03:16:38 -0400 Received: from mail-la0-f43.google.com ([209.85.215.43]:35343 "EHLO mail-la0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753245AbbDQHPz (ORCPT ); Fri, 17 Apr 2015 03:15:55 -0400 Received: by labbd9 with SMTP id bd9so73621978lab.2 for ; Fri, 17 Apr 2015 00:15:53 -0700 (PDT) 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=ycVHIthVDu5ruxEA8p16bCES1Rj9GgSYhScKBHLHqvQ=; b=AEqvh4OzypyJ7xZbHMUPt3cq7w9li0yOpH3C0wXkMy+MYBPtgLcZGtN5/ZBpQsGmwZ +bCrUNXNi8nDgGmKPrfHF0ykjtLidnC6L+cm08wQsvxviymNlCYm1J0rINDwspZGIXnm R0arthbpHtSPTFTYLGFBtjUzo0rKhP7bnGnZ6hBEKZfeC7MAMGq4hIPnTmgcs4XRbAHz oTuFEl8Od1Eb3MF6q4y0IDM/IyaZGvP1T9Mi1sz0114eNcFcc4orR8lquz1vrKzy53Vb hdfi9QFrWlC9EClGcEK0UOD3lTEfLuP1R1Ne9ZXEwK7Gax0GEdHE0ZywIcZZ0oKEnXSA uVeg== X-Gm-Message-State: ALoCoQkj2JsxGt4/b5V/4zLfk+D81gU3fB31zN+0ZLnJ56vAutcoT02ybaMwgDo6t5UWbx0s+vVV X-Received: by 10.112.90.201 with SMTP id by9mr1335844lbb.30.1429254953629; Fri, 17 Apr 2015 00:15:53 -0700 (PDT) Received: from tn-HP-4.semihalf.local ([80.82.22.190]) by mx.google.com with ESMTPSA id yq18sm2215742lbb.47.2015.04.17.00.15.51 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 17 Apr 2015 00:15:52 -0700 (PDT) From: Tomasz Nowicki To: bhelgaas@google.com, wangyijing@huawei.com, arnd@arndb.de, hanjun.guo@linaro.org, Liviu.Dudau@arm.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, rjw@rjwysocki.net, al.stone@linaro.org, lorenzo.pieralisi@arm.com Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org, linaro-acpi@lists.linaro.org, Tomasz Nowicki Subject: [PATCH v5 8/9] pci, acpi, mcfg: Share ACPI PCI config space accessors. Date: Fri, 17 Apr 2015 09:14:57 +0200 Message-Id: <1429254898-32743-9-git-send-email-tomasz.nowicki@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1429254898-32743-1-git-send-email-tomasz.nowicki@linaro.org> References: <1429254898-32743-1-git-send-email-tomasz.nowicki@linaro.org> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, 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 MCFG can be used perfectly for all architectures which support ACPI. ACPI mandates MCFG to describe PCI config space ranges which means we should use MMCONFIG accessors by default. Signed-off-by: Tomasz Nowicki --- drivers/acpi/mcfg.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/acpi/mcfg.c b/drivers/acpi/mcfg.c index 787defe..5ff2602 100644 --- a/drivers/acpi/mcfg.c +++ b/drivers/acpi/mcfg.c @@ -12,6 +12,26 @@ #define PREFIX "MCFG: " +/* + * raw_pci_read/write - ACPI PCI config space accessors. + * + * ACPI spec defines MCFG table as the way we can describe access to PCI config + * space, so let MCFG be default (__weak). + * + * If platform needs more fancy stuff, should provides its own implementation. + */ +int __weak raw_pci_read(unsigned int domain, unsigned int bus, + unsigned int devfn, int reg, int len, u32 *val) +{ + return pci_mmcfg_read(domain, bus, devfn, reg, len, val); +} + +int __weak raw_pci_write(unsigned int domain, unsigned int bus, + unsigned int devfn, int reg, int len, u32 val) +{ + return pci_mmcfg_write(domain, bus, devfn, reg, len, val); +} + int __init acpi_parse_mcfg(struct acpi_table_header *header) { struct acpi_table_mcfg *mcfg;