From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BAA9EC432C3 for ; Tue, 19 Nov 2019 23:33:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9780620674 for ; Tue, 19 Nov 2019 23:33:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727385AbfKSXdb (ORCPT ); Tue, 19 Nov 2019 18:33:31 -0500 Received: from mx2.suse.de ([195.135.220.15]:35866 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726874AbfKSXdb (ORCPT ); Tue, 19 Nov 2019 18:33:31 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 84DA0B1F5; Tue, 19 Nov 2019 23:33:29 +0000 (UTC) Subject: Re: [PATCH v4 2/8] irqchip: Add Realtek RTD1295 mux driver To: Marc Zyngier 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 References: <20191119021917.15917-1-afaerber@suse.de> <20191119021917.15917-3-afaerber@suse.de> <20191119222956.23665e5d@why> From: =?UTF-8?Q?Andreas_F=c3=a4rber?= Organization: SUSE Software Solutions Germany GmbH Message-ID: Date: Wed, 20 Nov 2019 00:33:28 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1 MIME-Version: 1.0 In-Reply-To: <20191119222956.23665e5d@why> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 19.11.19 um 23:29 schrieb Marc Zyngier: > 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. Then what are you suggesting instead? I don't see how my array map lookup could fail other than returning a zero value, given its static initialization. Check for a zero mask in rtd1195_mux_irq_domain_map()? Then we wouldn't be able to use the mentioned WDOG_NMI. Add another per-mux info field for which interrupts are valid to map? Thanks, Andreas -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer HRB 36809 (AG Nürnberg) From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DEA2CC432C0 for ; Tue, 19 Nov 2019 23:33:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A378C2231C for ; Tue, 19 Nov 2019 23:33:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="C0kp5LsE" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A378C2231C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=nvzTmtLKmYEkrAsYqNuypWjqPCk23eDUHI8LDTYtDjw=; b=C0kp5LsEJuN6OL IWBV/YWoTDb/xmEKwA6nYWtjvKgivUkDdCMRD60sf6LZFQmZcirdfksW2F7rUDImDj5KENZmwKJ6t cETgIw4om5oqqxn70u5piN6PqpbKVQR0sGQLPzPXnBFk1EuO8gUhW7tXR+wK3rG75Izca/KyA0rn0 D9aJ7DoN1DWnsvpHOwxv83z5xT74i0O3E5MjGaz2IQk0VfikfeNnOrF2U4Oa6V9pmkfUv6N2LYh/4 BWlzABoCx8kF8tk2oHMGkr6upi2seY4w0t9gm9nej/Tjsg5QydK3kuIk0tERNbRANcCOUkBaWxNjr qoB18l+6SHB1M2peRe7g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iXD01-0007yJ-N0; Tue, 19 Nov 2019 23:33:33 +0000 Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iXCzz-0007xs-2H; Tue, 19 Nov 2019 23:33:32 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 84DA0B1F5; Tue, 19 Nov 2019 23:33:29 +0000 (UTC) Subject: Re: [PATCH v4 2/8] irqchip: Add Realtek RTD1295 mux driver To: Marc Zyngier References: <20191119021917.15917-1-afaerber@suse.de> <20191119021917.15917-3-afaerber@suse.de> <20191119222956.23665e5d@why> From: =?UTF-8?Q?Andreas_F=c3=a4rber?= Organization: SUSE Software Solutions Germany GmbH Message-ID: Date: Wed, 20 Nov 2019 00:33:28 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1 MIME-Version: 1.0 In-Reply-To: <20191119222956.23665e5d@why> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191119_153331_253906_B9AC80EC X-CRM114-Status: GOOD ( 14.96 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: James Tai , Aleix Roca Nonell , linux-realtek-soc@lists.infradead.org, linux-kernel@vger.kernel.org, Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Jason Cooper Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org QW0gMTkuMTEuMTkgdW0gMjM6Mjkgc2NocmllYiBNYXJjIFp5bmdpZXI6Cj4gT24gVHVlLCAxOSBO b3YgMjAxOSAyMTo1Njo0OCArMDEwMAo+IEFuZHJlYXMgRsOkcmJlciA8YWZhZXJiZXJAc3VzZS5k ZT4gd3JvdGU6Cj4+IEFtIDE5LjExLjE5IHVtIDEzOjAxIHNjaHJpZWIgTWFyYyBaeW5naWVyOgo+ Pj4gT24gMjAxOS0xMS0xOSAwMjoxOSwgQW5kcmVhcyBGw6RyYmVyIHdyb3RlOiAgCj4+Pj4gK3N0 YXRpYyB2b2lkIHJ0ZDExOTVfbXV4X2VuYWJsZV9pcnEoc3RydWN0IGlycV9kYXRhICpkYXRhKQo+ Pj4+ICt7Cj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgcnRkMTE5NV9pcnFfbXV4X2RhdGEgKm11eF9kYXRh ID0KPj4+PiBpcnFfZGF0YV9nZXRfaXJxX2NoaXBfZGF0YShkYXRhKTsKPj4+PiArwqDCoMKgIHVu c2lnbmVkIGxvbmcgZmxhZ3M7Cj4+Pj4gK8KgwqDCoCB1MzIgbWFzazsKPj4+PiArCj4+Pj4gK8Kg wqDCoCBtYXNrID0gbXV4X2RhdGEtPmluZm8tPmlzcl90b19pbnRfZW5fbWFza1tkYXRhLT5od2ly cV07Cj4+Pj4gK8KgwqDCoCBpZiAoIW1hc2spCj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybjsg IAo+Pj4KPj4+IEhvdyBjYW4gdGhpcyBoYXBwZW4/IFlvdSd2ZSBtYXBwZWQgdGhlIGludGVycnVw dCwgc28gaXQgZXhpc3RzLgo+Pj4gSSBjYW4ndCBzZWUgaG93IHlvdSBjYW4gZGVjaWRlIHRvIGZh aWwgc3VjaCBlbmFibGUuICAKPj4KPj4gVGhlIFtVTVNLX11JU1IgYml0cyBhbmQgdGhlIFNDUFVf SU5UX0VOIGJpdHMgYXJlIG5vdCAoYWxsKSB0aGUgc2FtZS4KPj4KPj4gTXkgLi4uX2lzcl90b19z Y3B1X2ludF9lbltdIGFycmF5cyBoYXZlIDMyIGVudHJpZXMgZm9yIE8oMSkgbG9va3VwLCBidXQK Pj4gYXJlIHNwYXJzZWx5IHBvcHVsYXRlZC4gU28gdGhlcmUgYXJlIGNpcmN1bXN0YW5jZXMgc3Vj aCBhcyBXRE9HX05NSSBhcwo+PiB3ZWxsIGFzIHJlc2VydmVkIGJpdHMgdGhhdCB3ZSBjYW5ub3Qg ZW5hYmxlLgo+IAo+IEJ1dCB0aGUgeW91IHNob3VsZCBoYXZlIGZhaWxlZCB0aGUgbWFwLiBUaGUg bW9tZW50IHlvdSBhbGxvdyB0aGUKPiBtYXBwaW5nIHRvIG9jY3VyLCB5b3UgaGF2ZSBhY2NlcHRl ZCB0aGUgY29udHJhY3QgdGhhdCB0aGlzIGludGVycnVwdCBpcwo+IHVzYWJsZS4KPiAKPj4gVGhp cyBjaGVjayBzaG91bGQgYmUKPj4gaWRlbnRpY2FsIHRvIHYzOyB0aGUgZXF1aXZhbGVudCBtYXNr IGNoZWNrIGluc2lkZSB0aGUgaW50ZXJydXB0IGhhbmRsZXIKPj4gd2FzIGV4dGVuZGVkIHdpdGgg Im1hc2sgJiYiIHRvIGRvIHRoZSBzYW1lIGluIHRoaXMgdjQuCj4gCj4gU3B1cmlvdXMgaW50ZXJy dXB0cyBhcmUgYSBkaWZmZXJlbnQgbWF0dGVyLiBXaGF0IEknbSBvYmplY3RpbmcgdG8gaGVyZQo+ IGlzIGEgc2ltcGxlIHF1ZXN0aW9uIG9mIGxvZ2ljLCB3aGV0aGVyIG9yIG5vdCB5b3UgYXJlIGFs bG93ZWQgdG8gZmFpbAo+IGVuYWJsaW5nIGFuIGludGVycnVwdCB0aGF0IHlvdSd2ZSBvdGhlcndp c2UgYWxsb3dlZCB0byBiZSBwb3B1bGF0ZWQuCgpUaGVuIHdoYXQgYXJlIHlvdSBzdWdnZXN0aW5n IGluc3RlYWQ/IEkgZG9uJ3Qgc2VlIGhvdyBteSBhcnJheSBtYXAKbG9va3VwIGNvdWxkIGZhaWwg b3RoZXIgdGhhbiByZXR1cm5pbmcgYSB6ZXJvIHZhbHVlLCBnaXZlbiBpdHMgc3RhdGljCmluaXRp YWxpemF0aW9uLiBDaGVjayBmb3IgYSB6ZXJvIG1hc2sgaW4gcnRkMTE5NV9tdXhfaXJxX2RvbWFp bl9tYXAoKT8KVGhlbiB3ZSB3b3VsZG4ndCBiZSBhYmxlIHRvIHVzZSB0aGUgbWVudGlvbmVkIFdE T0dfTk1JLiBBZGQgYW5vdGhlcgpwZXItbXV4IGluZm8gZmllbGQgZm9yIHdoaWNoIGludGVycnVw dHMgYXJlIHZhbGlkIHRvIG1hcD8KClRoYW5rcywKQW5kcmVhcwoKLS0gClNVU0UgU29mdHdhcmUg U29sdXRpb25zIEdlcm1hbnkgR21iSApNYXhmZWxkc3RyLiA1LCA5MDQwOSBOw7xybmJlcmcsIEdl cm1hbnkKR0Y6IEZlbGl4IEltZW5kw7ZyZmZlcgpIUkIgMzY4MDkgKEFHIE7DvHJuYmVyZykKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK