From patchwork Fri Jun 19 08:14:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Horman X-Patchwork-Id: 6643441 X-Patchwork-Delegate: horms@verge.net.au Return-Path: X-Original-To: patchwork-linux-sh@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 5C6ACC0020 for ; Fri, 19 Jun 2015 08:14:29 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 4ECE0204EB for ; Fri, 19 Jun 2015 08:14:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 43319204EA for ; Fri, 19 Jun 2015 08:14:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752787AbbFSIO0 (ORCPT ); Fri, 19 Jun 2015 04:14:26 -0400 Received: from kirsty.vergenet.net ([202.4.237.240]:48187 "EHLO kirsty.vergenet.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753259AbbFSIOV (ORCPT ); Fri, 19 Jun 2015 04:14:21 -0400 Received: from ayumi.isobedori.kobe.vergenet.net (p7166-ipbfp1503kobeminato.hyogo.ocn.ne.jp [114.153.234.166]) by kirsty.vergenet.net (Postfix) with ESMTPSA id BB0F125B756; Fri, 19 Jun 2015 18:14:18 +1000 (AEST) Received: by ayumi.isobedori.kobe.vergenet.net (Postfix, from userid 7100) id 472A0EDE7D9; Fri, 19 Jun 2015 17:14:17 +0900 (JST) Date: Fri, 19 Jun 2015 17:14:17 +0900 From: Simon Horman To: Magnus Damm Cc: SH-Linux Subject: possible regression caused by "ARM: shmobile: r8a7778: Instantiate Message-ID: <20150619081416.GA434@verge.net.au> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable 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 GIC from C board code in legacy builds" Reply-To: cpu_possible_mask to fix SMP broadcast Reply-To: Organisation: Horms Solutions Ltd. Hi Magnus, Hi All, I have observed what appears to be a regression caused by 1fbbc3f0c544 ("ARM: shmobile: r8a7778: Instantiate GIC from C board code in legacy builds"), which was included in v3.19. As its subject states, patch in question is initiates the GIC from C board code in legacy builds. And this appears to work when booting using non-DT-reference. However, it causes the boot to fail - I see no console output - for DT-reference. The patch below is a work-around I used while investigating the problem. I can think of two solutions: * A run-time check to see if DT-reference is in use or not: possibly by checking for a GIC node in DT. * Scheduling bockw-reference for removal. Given our recent discussion of a regression in marzen legacy I suspect the latter will be preferred. -- >8 -- From: Simon Horman Subject: [RFC/PATCH] ARM: shmobile: r8a7778: Do not instantiate GIC from C board code in DT-reference builds This is just a work around as it will break booting (non-reference) using legacy C code if CONFIG_MACH_BOCKW_REFERENCE is enabled. *** For informational purposes only *** Not for mainline merge Fixes: 1fbbc3f0c5440 ("ARM: shmobile: r8a7778: Instantiate GIC from C board code in legacy builds") Signed-off-by: Simon Horman --- arch/arm/mach-shmobile/setup-r8a7778.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c index c49aa094fe17..94d5489b4b07 100644 --- a/arch/arm/mach-shmobile/setup-r8a7778.c +++ b/arch/arm/mach-shmobile/setup-r8a7778.c @@ -592,14 +592,14 @@ void __init r8a7778_init_irq_extpin(int irlm) void __init r8a7778_init_irq_dt(void) { void __iomem *base = ioremap_nocache(0xfe700000, 0x00100000); -#ifdef CONFIG_ARCH_SHMOBILE_LEGACY +#if defined(CONFIG_ARCH_SHMOBILE_LEGACY) && !defined(CONFIG_MACH_BOCKW_REFERENCE) void __iomem *gic_dist_base = ioremap_nocache(0xfe438000, 0x1000); void __iomem *gic_cpu_base = ioremap_nocache(0xfe430000, 0x1000); #endif BUG_ON(!base); -#ifdef CONFIG_ARCH_SHMOBILE_LEGACY +#if defined(CONFIG_ARCH_SHMOBILE_LEGACY) && !defined(CONFIG_MACH_BOCKW_REFERENCE) gic_init(0, 29, gic_dist_base, gic_cpu_base); #else irqchip_init();