From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752059AbcFLKMx (ORCPT ); Sun, 12 Jun 2016 06:12:53 -0400 Received: from foss.arm.com ([217.140.101.70]:46432 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750755AbcFLKMv (ORCPT ); Sun, 12 Jun 2016 06:12:51 -0400 Date: Sun, 12 Jun 2016 11:12:40 +0100 From: Marc Zyngier To: Ben Dooks Cc: David Daney , Mark Rutland , Andrew Lunn , Krzysztof Kozlowski , Hou Zhiqiang , Liu Gang , Masahiro Yamada , Mingkai Hu , Florian Fainelli , Kevin Hilman , Daniel Lezcano , Michal Simek , linux-samsung-soc@vger.kernel.org, Kukjin Kim , bcm-kernel-feedback-list@broadcom.com, =?ISO-8859-1?Q?S=F6ren?= Brinkmann , Sebastian Hesselbarth , Jason Cooper , Ray Jui , Tirumalesh Chalamarla , Rob Herring , Yuan Yao , Wenbin Song , Jan Glauber , Gregory Clement , linux-amlogic@lists.infradead.org, Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Rajesh Bhagat , Scott Branden , Duc Dang , linux-kernel@vger.kernel.org, Carlo Caione , Dinh Nguyen Subject: Re: [PATCH v3 1/2] clocksource/arm_arch_timer: Force per-CPU interrupt to be level-triggered Message-ID: <20160612111240.7dc99322@arm.com> In-Reply-To: References: <1465235791-7064-1-git-send-email-marc.zyngier@arm.com> <1465235791-7064-2-git-send-email-marc.zyngier@arm.com> <5759DB58.5070906@gmail.com> <20160610082952.4f20d732@arm.com> <575AFB4A.3030508@gmail.com> <20160611104100.7475689e@arm.com> Organization: ARM Ltd X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; arm-unknown-linux-gnueabihf) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 11 Jun 2016 13:02:44 +0100 Ben Dooks wrote: > out of interest, do you have a list of what the problems are? The trigger configuration for per-cpu interrupts silently fails (because set_irq_type cannot deal with them). Which means we're relying on whatever configuration the firmware has left in there. Also, the kernel defaults to considering the interrupt as edge. What saves most platforms so far is that they are using a GIC: 1) Most GIC implementations have their PPI configuration as RO, which means that we can't get it wrong. 2) If using a fasteoi handler, there is no significant difference in the flow between edge and level (we're relying on the HW dealing with it, so (1) is critical). If your GIC allows PPI configuration to be written and firmware gets it wrong, you'll miss interrupts. If you don't have a GIC, all bets are off. I've queued a number of patches to solve this, which I hope to send to tglx tomorrow (after looking at this weekend test run). Thanks, M. -- Jazz is not dead. It just smells funny.