Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757509AbcCRPly (ORCPT ); Fri, 18 Mar 2016 11:41:54 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:52986 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752866AbcCRPlv (ORCPT ); Fri, 18 Mar 2016 11:41:51 -0400 Subject: Re: [PATCH 02/15] ARM: OMAP: Correct interrupt type for ARM TWD To: Jon Hunter , Thomas Gleixner , Jason Cooper , Marc Zyngier , =?UTF-8?Q?Beno=c3=aet_Cousson?= , Tony Lindgren , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Stephen Warren , Thierry Reding References: <1458224359-32665-1-git-send-email-jonathanh@nvidia.com> <1458224359-32665-3-git-send-email-jonathanh@nvidia.com> CC: Kevin Hilman , Geert Uytterhoeven , Lars-Peter Clausen , Linus Walleij , , , , From: Grygorii Strashko Message-ID: <56EC2191.2060800@ti.com> Date: Fri, 18 Mar 2016 17:41:05 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1458224359-32665-3-git-send-email-jonathanh@nvidia.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3936 Lines: 66 On 03/17/2016 04:19 PM, Jon Hunter wrote: > The ARM TWD interrupt is a private peripheral interrupt (PPI) and per > the ARM GIC documentation, whether the type for PPIs can be set is > IMPLEMENTATION DEFINED. For OMAP4 devices the PPI type cannot be set and > so when we attempt to set the type for the ARM TWD interrupt it fails. > This has done unnoticed because it fails silently and because we cannot > re-configure the type it has had no impact. Nevertheless fix the type > for the TWD interrupt so that it matches the hardware configuration. > > Reported-by: Grygorii Strashko > Signed-off-by: Jon Hunter > > --- > > Tony, Grygorii, > Please note that I have not tested this. Can you test this series and > see if you see any warnings on OMAP4? I am guessing that the configuration > should be LEVEL and not EDGE. This was reported here: Tested-by: Grygorii Strashko Tested on PandaBoard. Without this patch I can see below warning: [ 0.000000] OMAP clockevent source: timer1 at 32768 Hz [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: CPU: 0 PID: 0 at drivers/irqchip/irq-gic-common.c:61 gic_configure_irq+0x84/0x90() [ 0.000000] Modules linked in: [ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.5.0-05765-gd232fe5 #6 [ 0.000000] Hardware name: Generic OMAP4 (Flattened Device Tree) [ 0.000000] Backtrace: [ 0.000000] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 0.000000] r7:00000000 r6:c0a448a4 r5:200001d3 r4:00000000 [ 0.000000] [] (show_stack) from [] (dump_stack+0x98/0xb4) [ 0.000000] [] (dump_stack) from [] (warn_slowpath_common+0x7c/0xb8) [ 0.000000] r7:c08664e0 r6:0000003d r5:00000009 r4:00000000 [ 0.000000] [] (warn_slowpath_common) from [] (warn_slowpath_null+0x24/0x2c) [ 0.000000] r8:00000004 r7:c0a02d98 r6:00000000 r5:ee805cc0 r4:00000000 [ 0.000000] [] (warn_slowpath_null) from [] (gic_configure_irq+0x84/0x90) [ 0.000000] [] (gic_configure_irq) from [] (gic_set_type+0x50/0x60) [ 0.000000] [] (gic_set_type) from [] (__irq_set_trigger+0x64/0x158) [ 0.000000] r5:ee805cc0 r4:ee828540 [ 0.000000] [] (__irq_set_trigger) from [] (__setup_irq+0x520/0x614) [ 0.000000] r9:600001d3 r8:ee805d20 r7:00000011 r6:00000011 r5:ee805cc0 r4:ee828540 [ 0.000000] [] (__setup_irq) from [] (request_percpu_irq+0x8c/0xf0) [ 0.000000] r9:c0110004 r8:c083237c r7:c095da80 r6:00000011 r5:ee805cc0 r4:ee828540 [ 0.000000] [] (request_percpu_irq) from [] (twd_local_timer_common_register+0x44/0x1bc) [ 0.000000] r9:efffc000 r8:c0a7b000 r7:c0a02900 r6:ef6c75c8 r5:ef6c75c8 r4:c0a7b2cc [ 0.000000] [] (twd_local_timer_common_register) from [] (twd_local_timer_of_register+0x50/0x78) [ 0.000000] r9:efffc000 r8:c0a7b000 r7:c0a02900 r6:ffffffff r5:ef6c75c8 r4:c0a7b2cc [ 0.000000] [] (twd_local_timer_of_register) from [] (clocksource_probe+0x50/0x90) [ 0.000000] r5:00000001 r4:ef6c75c8 [ 0.000000] [] (clocksource_probe) from [] (omap4_local_timer_init+0x14/0x18) [ 0.000000] r5:c0a7b000 r4:00000000 [ 0.000000] [] (omap4_local_timer_init) from [] (time_init+0x24/0x38) [ 0.000000] [] (time_init) from [] (start_kernel+0x220/0x3bc) [ 0.000000] [] (start_kernel) from [<8000807c>] (0x8000807c) [ 0.000000] r10:00000000 r9:411fc092 r8:8000406a r7:c0a073e4 r6:c0940a2c r5:c0a029b0 [ 0.000000] r4:c0a7b214 [ 0.000000] ---[ end trace cb88537fdc8fa200 ]--- [ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns -- regards, -grygorii