From patchwork Tue Mar 24 14:02:51 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hanjun Guo X-Patchwork-Id: 46251 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wi0-f198.google.com (mail-wi0-f198.google.com [209.85.212.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 4CBE1214B0 for ; Tue, 24 Mar 2015 14:06:21 +0000 (UTC) Received: by wibbs8 with SMTP id bs8sf13085639wib.3 for ; Tue, 24 Mar 2015 07:06:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:in-reply-to:references:sender:precedence:list-id :x-original-sender:x-original-authentication-results:mailing-list :list-post:list-help:list-archive:list-unsubscribe; bh=8JcArlFiz92KYIospu18L2jAzvEVTWM1bhGDfey4QVE=; b=RhW82v9DuWwnfSdpBhIesuzFbAsoAtxjceubD6Ng2yPod1r+/UyHzUQ1oOsLLCv92Y S4maJAywra+8OOu3D0S9c6rBI+car7nEgI04JrkNpyyHhaNwXZZfgDUh/JY82IA0M6Ib YfLUNLfOC24fW1IFgHwjQN1AQko/3JYZP5qje3cGn+DeGYYGlYS/xHiNV001iVIjyQZt yWr9hka2HgdFOGOMpdEPKDB7sqTbIkf+wX421nKanWPnNSpHyyWFH+Oy93kOVSOpTjzt 3QnDsk/94h+TCwT0LgDT4mbKllDG3sRYYMyMCWDP33CbniPNEeglVakkYBmsHWPHoehj b3uQ== X-Gm-Message-State: ALoCoQmEy95XRwBpzZ15jvKbW2CaFCs763jLq+rIji7/eQdkr1gNjVQJFirELblNcTLLv667g1oe X-Received: by 10.112.142.1 with SMTP id rs1mr891753lbb.19.1427205980577; Tue, 24 Mar 2015 07:06:20 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.153.5.2 with SMTP id ci2ls760767lad.38.gmail; Tue, 24 Mar 2015 07:06:20 -0700 (PDT) X-Received: by 10.112.150.39 with SMTP id uf7mr3917132lbb.72.1427205980334; Tue, 24 Mar 2015 07:06:20 -0700 (PDT) Received: from mail-lb0-f181.google.com (mail-lb0-f181.google.com. [209.85.217.181]) by mx.google.com with ESMTPS id db1si3033928lac.147.2015.03.24.07.06.20 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Mar 2015 07:06:20 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.181 as permitted sender) client-ip=209.85.217.181; Received: by lbbsy1 with SMTP id sy1so141729004lbb.1 for ; Tue, 24 Mar 2015 07:06:20 -0700 (PDT) X-Received: by 10.112.25.38 with SMTP id z6mr3957815lbf.106.1427205980238; Tue, 24 Mar 2015 07:06:20 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.57.201 with SMTP id k9csp1474822lbq; Tue, 24 Mar 2015 07:06:19 -0700 (PDT) X-Received: by 10.68.129.170 with SMTP id nx10mr8317637pbb.16.1427205974313; Tue, 24 Mar 2015 07:06:14 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id yi7si5619237pbc.190.2015.03.24.07.06.13; Tue, 24 Mar 2015 07:06:14 -0700 (PDT) Received-SPF: none (google.com: linux-kernel-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753306AbbCXOFm (ORCPT + 27 others); Tue, 24 Mar 2015 10:05:42 -0400 Received: from mail-pa0-f42.google.com ([209.85.220.42]:35764 "EHLO mail-pa0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752491AbbCXOFf (ORCPT ); Tue, 24 Mar 2015 10:05:35 -0400 Received: by pagv19 with SMTP id v19so51788149pag.2 for ; Tue, 24 Mar 2015 07:05:34 -0700 (PDT) X-Received: by 10.68.174.132 with SMTP id bs4mr7695046pbc.135.1427205934356; Tue, 24 Mar 2015 07:05:34 -0700 (PDT) Received: from localhost ([180.150.148.224]) by mx.google.com with ESMTPSA id i11sm4301641pdj.61.2015.03.24.07.05.30 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 24 Mar 2015 07:05:33 -0700 (PDT) From: Hanjun Guo To: Catalin Marinas , "Rafael J. Wysocki" , Will Deacon , Olof Johansson , Grant Likely Cc: Lorenzo Pieralisi , Arnd Bergmann , Mark Rutland , Graeme Gregory , Sudeep Holla , Jon Masters , Marc Zyngier , Mark Brown , Robert Richter , Timur Tabi , Ashwin Chaugule , Suravee Suthikulpanit , Mark Salter , linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linaro-acpi@lists.linaro.org, Al Stone , Hanjun Guo Subject: [patch v11 18/23] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 Date: Tue, 24 Mar 2015 22:02:51 +0800 Message-Id: <1427205776-5060-19-git-send-email-hanjun.guo@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1427205776-5060-1-git-send-email-hanjun.guo@linaro.org> References: <1427205776-5060-1-git-send-email-hanjun.guo@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: hanjun.guo@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.217.181 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , From: Al Stone ACPI reduced hardware mode is disabled by default, but ARM64 can only run properly in ACPI hardware reduced mode, so select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64. If the firmware is not using hardware reduced ACPI mode, we will disable ACPI to avoid nightmare such as accessing some registers which are not available on ARM64. CC: Catalin Marinas CC: Will Deacon Reviewed-by: Grant Likely Tested-by: Suravee Suthikulpanit Tested-by: Yijing Wang Tested-by: Mark Langsdorf Tested-by: Jon Masters Tested-by: Timur Tabi Tested-by: Robert Richter Acked-by: Robert Richter Signed-off-by: Al Stone Signed-off-by: Hanjun Guo --- arch/arm64/Kconfig | 1 + arch/arm64/kernel/acpi.c | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 1b8e973..d00ab9a 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1,5 +1,6 @@ config ARM64 def_bool y + select ACPI_REDUCED_HARDWARE_ONLY if ACPI select ARCH_BINFMT_ELF_RANDOMIZE_PIE select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_HAS_GCOV_PROFILE_ALL diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c index 6468f88..5819ef7 100644 --- a/arch/arm64/kernel/acpi.c +++ b/arch/arm64/kernel/acpi.c @@ -303,6 +303,11 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) */ if (table->revision > 5 || (table->revision == 5 && fadt->minor_revision >= 1)) { + if (!acpi_gbl_reduced_hardware) { + pr_err("Not hardware reduced ACPI mode, will not be supported\n"); + goto disable_acpi; + } + /* * ACPI 5.1 only has two explicit methods to boot up SMP, * PSCI and Parking protocol, but the Parking protocol is @@ -319,8 +324,9 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) pr_warn("Unsupported FADT revision %d.%d, should be 5.1+, will disable ACPI\n", table->revision, fadt->minor_revision); - disable_acpi(); +disable_acpi: + disable_acpi(); return -EINVAL; }