From patchwork Wed Sep 23 06:39:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 521598 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 686531400A0 for ; Wed, 23 Sep 2015 16:49:27 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751840AbbIWGt0 (ORCPT ); Wed, 23 Sep 2015 02:49:26 -0400 Received: from david.siemens.de ([192.35.17.14]:59857 "EHLO david.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751078AbbIWGt0 (ORCPT ); Wed, 23 Sep 2015 02:49:26 -0400 Received: from mail2.siemens.de (mail2.siemens.de [139.25.208.11]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id t8N6dlxW009763 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 Sep 2015 08:39:47 +0200 Received: from md1f2u6c.ww002.siemens.net ([139.22.35.180]) by mail2.siemens.de (8.15.1/8.15.1) with SMTP id t8N6djVd032155; Wed, 23 Sep 2015 08:39:47 +0200 From: Jan Kiszka To: Russell King , Thierry Reding Cc: linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Stephen Warren , Will Deacon Subject: [PATCH v2 2/2] ARM: tegra: Disable cpuidle driver if PSCI is present Date: Wed, 23 Sep 2015 08:39:44 +0200 Message-Id: <5151ffebe8611545c55f8cc499cf2368b1b789c4.1442990383.git.jan.kiszka@siemens.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org The firmware takes over the ownership of the flow controller when it provides PSCI support. To avoid clashes, disable the Tegra cpuidle driver if PSCI was detected. Signed-off-by: Jan Kiszka --- arch/arm/mach-tegra/Kconfig | 1 + arch/arm/mach-tegra/tegra.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 0fa4c5f..373768c 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -4,6 +4,7 @@ menuconfig ARCH_TEGRA select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS select ARM_AMBA select ARM_GIC + select ARM_PSCI select CLKSRC_MMIO select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c index 2378fa56..d97c961 100644 --- a/arch/arm/mach-tegra/tegra.c +++ b/arch/arm/mach-tegra/tegra.c @@ -44,6 +44,7 @@ #include #include #include +#include #include "board.h" #include "common.h" @@ -136,7 +137,8 @@ static void __init tegra_dt_init_late(void) int i; tegra_init_suspend(); - tegra_cpuidle_init(); + if (!psci_smp_available()) + tegra_cpuidle_init(); for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) { if (of_machine_is_compatible(board_init_funcs[i].machine)) {