Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp1097773ybc; Tue, 19 Nov 2019 14:32:15 -0800 (PST) X-Google-Smtp-Source: APXvYqwNmGOupMvYmm2xifgz2dgv2gi3rPgJ7JuoVWXqMFM9P68VXxi72jHepM7sYpzJKIk4Z2Vk X-Received: by 2002:a17:906:e087:: with SMTP id gh7mr93569ejb.278.1574202735219; Tue, 19 Nov 2019 14:32:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574202735; cv=none; d=google.com; s=arc-20160816; b=VLrwY91DCyddVwvORmyboLsqVIr2Xp537UBHMt76JSXkvPCzFFxisPGi68TwtIZy+O yf5HqXjFuX0ctBsBYtewzam4RAAtC4fDU0t7vIMchjXvhWBaFZbw5X61u1MdyizOxZtq QgGDLo8QVqv0wvsTzq7NzBhbHMOSTxjAtFd1xEBTuWVOHcbC1WWUZ/GgOINwlqE3dFnk 8qg4kVZZN9FfTXsYIUEicL4TsHBhkLSRXB2ZS4Q4Da963gVdtr7i+y/MT7j+schX/n4q rYR1a3j7lRJKFMsCsmKHeFY8U5aJRKRePUvGfHyGxCM5xAZ/f95S/4w2j4bRzYwJV5+9 VRSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=y2Lc8mZpzq1tBJMDagEJJfVf3SiPaY+5bPOuIt1OvTw=; b=qP+NErVtGHfjZaC/OY+hRDwO5O0Z7gesRo7OZcPv5bOZMqPrGuUbOsKEx1yBflX6dv lpAnCX/8gZbKNH/UVr2z8x43DVL64cyVAS/RxOqbAH/w9UeS3ZpxeeB0TUc+BlwuG1H2 fUTquO1u0Yg1+4b4u6/W4hGFY35Vu20zrKsvGVwVHcYHB+MRzsYq2zV8LfxuxVclXDiM xzTe9wF9tgtK98tDe3HZNb1XJz6oRnZPwV0IVgeq3TmhGBFAS5o4vvpQZaq274WEPT13 o3ImoLm8zbd0DXz00Ih3fgZl1Ektf3mpBwN5pyTrng2RdKO20iLEKxcHG7cbrAH6Oioh x4cw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id dc21si15097593ejb.101.2019.11.19.14.31.51; Tue, 19 Nov 2019 14:32:15 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727038AbfKSWaA convert rfc822-to-8bit (ORCPT + 99 others); Tue, 19 Nov 2019 17:30:00 -0500 Received: from inca-roads.misterjones.org ([213.251.177.50]:41727 "EHLO inca-roads.misterjones.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726196AbfKSWaA (ORCPT ); Tue, 19 Nov 2019 17:30:00 -0500 Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why) by cheepnis.misterjones.org with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) (Exim 4.80) (envelope-from ) id 1iXC0T-0002Ng-JU; Tue, 19 Nov 2019 23:29:57 +0100 Date: Tue, 19 Nov 2019 22:29:56 +0000 From: Marc Zyngier To: Andreas =?UTF-8?Q?F=C3=A4rber?= Cc: linux-realtek-soc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Aleix Roca Nonell , James Tai , Thomas Gleixner , Jason Cooper Subject: Re: [PATCH v4 2/8] irqchip: Add Realtek RTD1295 mux driver Message-ID: <20191119222956.23665e5d@why> In-Reply-To: References: <20191119021917.15917-1-afaerber@suse.de> <20191119021917.15917-3-afaerber@suse.de> Organization: Approximate X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: afaerber@suse.de, linux-realtek-soc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernelrocks@gmail.com, james.tai@realtek.com, tglx@linutronix.de, jason@lakedaemon.net X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on cheepnis.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 19 Nov 2019 21:56:48 +0100 Andreas Färber wrote: > Am 19.11.19 um 13:01 schrieb Marc Zyngier: > > On 2019-11-19 02:19, Andreas Färber wrote: > >> +static void rtd1195_mux_enable_irq(struct irq_data *data) > >> +{ > >> +    struct rtd1195_irq_mux_data *mux_data = > >> irq_data_get_irq_chip_data(data); > >> +    unsigned long flags; > >> +    u32 mask; > >> + > >> +    mask = mux_data->info->isr_to_int_en_mask[data->hwirq]; > >> +    if (!mask) > >> +        return; > > > > How can this happen? You've mapped the interrupt, so it exists. > > I can't see how you can decide to fail such enable. > > The [UMSK_]ISR bits and the SCPU_INT_EN bits are not (all) the same. > > My ..._isr_to_scpu_int_en[] arrays have 32 entries for O(1) lookup, but > are sparsely populated. So there are circumstances such as WDOG_NMI as > well as reserved bits that we cannot enable. But the you should have failed the map. The moment you allow the mapping to occur, you have accepted the contract that this interrupt is usable. > This check should be > identical to v3; the equivalent mask check inside the interrupt handler > was extended with "mask &&" to do the same in this v4. Spurious interrupts are a different matter. What I'm objecting to here is a simple question of logic, whether or not you are allowed to fail enabling an interrupt that you've otherwise allowed to be populated. M. -- Jazz is not dead. It just smells funny...