From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752747AbcHAK1A (ORCPT ); Mon, 1 Aug 2016 06:27:00 -0400 Received: from hqemgate14.nvidia.com ([216.228.121.143]:5865 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752529AbcHAK0v (ORCPT ); Mon, 1 Aug 2016 06:26:51 -0400 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Mon, 01 Aug 2016 03:23:51 -0700 Subject: Re: [Regression] "irqdomain: Don't set type when mapping an IRQ" breaks nexus7 gpio buttons To: John Stultz , Marc Zyngier References: CC: Thomas Gleixner , lkml , Bjorn Andersson From: Jon Hunter Message-ID: Date: Mon, 1 Aug 2016 11:26:42 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: X-Originating-IP: [10.26.11.183] X-ClientProxiedBy: UKMAIL102.nvidia.com (10.26.138.15) To UKMAIL101.nvidia.com (10.26.138.13) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi John, On 30/07/16 05:39, John Stultz wrote: > Hey Jon, > So after rebasing my nexus7 patch stack onto pre-4.8-rc1 tree, I > noticed the power/volume buttons stopped working. > > I did a manual rebased bisection and chased it down to your commit > 1e2a7d78499e ("irqdomain: Don't set type when mapping an IRQ"). > > Reverting that patch makes things work again, so I wanted to see if > there was any debugging info I could provide to try to help narrow > down the problem here. (Sorry, I'd tinker myself with it some and try > to debug the issue, but after burning my friday night on this, I'm > eager to get away from the keyboard for the weekend). Before this commit bad IRQ type settings in device-tree were not getting reported and so failures to set the IRQ type were going unnoticed. It's most likely a bad IRQ type settings somewhere. As Thomas mentioned hopefully dmesg will shed a bit more light. Otherwise it can be worth looking at the ->irq_set_type() function for the irqchips in the path of the interrupt requested to see if any are failing. Looking at the nexus7 (assuming qcom variant), it looks like there are 3 irqchips in the path (pm8921 --> apq8064-pinctrl --> gic). The pm8xxx_irq_set_type() could return a failure when setting up the IRQ type and could be worth checking. It does not look like the set_type for the apq8064-pinctrl should ever fail (apart from calling BUG() which would be obvious). The gic can also return a failure for setting the type, but I did not see anything at first glance that looks incorrect in the dts. If we can narrow down irqchip, then hopefully it will be clearer. Cheers Jon -- nvpublic