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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 1C93EEB64DC for ; Mon, 17 Jul 2023 09:48:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Subject:To:From:Message-ID:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=yrSAd8+9Dk3H+j4fjUCqC45LJeCi+tYJ2tINa9sgOIg=; b=s3V7t33RaKAEBY xH8OHYf/kP4E0PwEzY2YNesrhj6saGENY0Xf/NiRwOKjaPWJzjHHhG1a02qAUXYfVyr6uA8kDOvYl 4avXnYo0PhHdUOGv97Sh0u/UW4WauXX95a11+HfSXLUdQoTFOITexX2WVvTkzPMxE8fsaJrlxw781 9XIacs+fPJEsb2FJ1clp3Te4pUBiRMmJU98VsFFBjboH/lh5NMB8mKFpVxXkv7+5Gznooa6JvYOzO EgIyLtA7SosLeHSg1+DCM5Z1mIc4yuh4t1+puAO4P/z8vuIe0fEIR10Ui6hTPCGScJkZvQUUGvcU1 oQ2sMcxOw9QjMQfX+unw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qLKqR-003gQ9-2s; Mon, 17 Jul 2023 09:48:43 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qLKqG-003gMw-0o for linux-riscv@lists.infradead.org; Mon, 17 Jul 2023 09:48:42 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8CFC361007; Mon, 17 Jul 2023 09:48:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7658C433C8; Mon, 17 Jul 2023 09:48:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689587311; bh=JdKVUUp6m0Uye11so85pYdbz5La3leOelaYQhIMR/ow=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=oxoQSO72xKHk5tAprUaf/IoUnkyd4nPgQOmA4cNPs0Pwqvf7arZNFCaNDtXqnKyDm LwriU5lzm7OQtL2/QtWxb4lJPBaQcP6es/8cDYuI5/LTfHYQeR51ECAQHTKLas0eXb 5Ti50RDLr5eHNO8fv53d0BeMuugKkPukujsw/g6d+EXMBUE/jG/HVz8UHvb6pT9yN0 BELBKLd229ZPw6fnG3ElF2ltYVVFi/ceD5Jb0HVbSlLd9gfNqMDw0e+gsGSiMVVE0n rLX77uGJtjxGAHl/r4PGOFZRfE0GDkyCsAPg058zTd3X4UhPlfVPmlsuEwNKWE1VRw 6xSJNGo55N1gA== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1qLKqC-00DgoU-Ej; Mon, 17 Jul 2023 10:48:28 +0100 Date: Mon, 17 Jul 2023 10:48:28 +0100 Message-ID: <865y6ivpg3.wl-maz@kernel.org> From: Marc Zyngier To: Anup Patel Subject: Re: [PATCH v5 7/9] irqchip: Add RISC-V advanced PLIC driver In-Reply-To: References: <20230710094321.1378351-1-apatel@ventanamicro.com> <20230710094321.1378351-8-apatel@ventanamicro.com> <86jzv2vpdb.wl-maz@kernel.org> <86cz0uvcof.wl-maz@kernel.org> <868rbfufn2.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.2 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: apatel@ventanamicro.com, anup@brainfault.org, saravanak@google.com, palmer@dabbelt.com, paul.walmsley@sifive.com, tglx@linutronix.de, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, atishp@atishpatra.org, ajones@ventanamicro.com, sunilvl@ventanamicro.com, conor@kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230717_024832_396592_6A0FE000 X-CRM114-Status: GOOD ( 59.42 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Saravana Kannan , Anup Patel , Atish Patra , linux-kernel@vger.kernel.org, Conor Dooley , Rob Herring , Palmer Dabbelt , Krzysztof Kozlowski , Paul Walmsley , Thomas Gleixner , linux-riscv@lists.infradead.org, Andrew Jones Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gTW9uLCAxNyBKdWwgMjAyMyAxMDowNTowMSArMDEwMCwKQW51cCBQYXRlbCA8YXBhdGVsQHZl bnRhbmFtaWNyby5jb20+IHdyb3RlOgo+IAo+IE9uIE1vbiwgSnVsIDE3LCAyMDIzIGF0IDE6MzXi gK9QTSBNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3JnPiB3cm90ZToKPiA+Cj4gPiBPbiBGcmks IDE0IEp1bCAyMDIzIDE1OjA1OjA3ICswMTAwLAo+ID4gQW51cCBQYXRlbCA8YW51cEBicmFpbmZh dWx0Lm9yZz4gd3JvdGU6Cj4gPiA+Cj4gPiA+IE9uIEZyaSwgSnVsIDE0LCAyMDIzIGF0IDc6MDXi gK9QTSBNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+ IE9uIEZyaSwgMTQgSnVsIDIwMjMgMTA6MzU6MzQgKzAxMDAsCj4gPiA+ID4gQW51cCBQYXRlbCA8 YXBhdGVsQHZlbnRhbmFtaWNyby5jb20+IHdyb3RlOgo+ID4gPiA+ID4KPiA+ID4gPiA+IE9uIEZy aSwgSnVsIDE0LCAyMDIzIGF0IDI6MzHigK9QTSBNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3Jn PiB3cm90ZToKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gQW51cCwKPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gT24gRnJpLCAxNCBKdWwgMjAyMyAwMDo1NjoyMiArMDEwMCwKPiA+ID4gPiA+ID4gU2Fy YXZhbmEgS2FubmFuIDxzYXJhdmFuYWtAZ29vZ2xlLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gPiBPbiBNb24sIEp1bCAxMCwgMjAyMyBhdCAyOjQ04oCvQU0gQW51cCBQYXRl bCA8YXBhdGVsQHZlbnRhbmFtaWNyby5jb20+IHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gPiA+IFRoZSBSSVNDLVYgYWR2YW5jZWQgaW50ZXJydXB0IGFyY2hpdGVjdHVyZSAoQUlB KSBzcGVjaWZpY2F0aW9uIGRlZmluZXMKPiA+ID4gPiA+ID4gPiA+IGEgbmV3IGludGVycnVwdCBj b250cm9sbGVyIGZvciBtYW5hZ2luZyB3aXJlZCBpbnRlcnJ1cHRzIG9uIGEgUklTQy1WCj4gPiA+ ID4gPiA+ID4gPiBwbGF0Zm9ybS4gVGhpcyBuZXcgaW50ZXJydXB0IGNvbnRyb2xsZXIgaXMgcmVm ZXJyZWQgdG8gYXMgYWR2YW5jZWQKPiA+ID4gPiA+ID4gPiA+IHBsYXRmb3JtLWxldmVsIGludGVy cnVwdCBjb250cm9sbGVyIChBUExJQykgd2hpY2ggY2FuIGZvcndhcmQgd2lyZWQKPiA+ID4gPiA+ ID4gPiA+IGludGVycnVwdHMgdG8gQ1BVcyAob3IgSEFSVHMpIGFzIGxvY2FsIGludGVycnVwdHMg T1IgYXMgbWVzc2FnZQo+ID4gPiA+ID4gPiA+ID4gc2lnbmFsZWQgaW50ZXJydXB0cy4KPiA+ID4g PiA+ID4gPiA+IChGb3IgbW9yZSBkZXRhaWxzIHJlZmVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yaXNj di9yaXNjdi1haWEpCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBh ZGRzIGFuIGlycWNoaXAgZHJpdmVyIGZvciBSSVNDLVYgQVBMSUMgZm91bmQgb24gUklTQy1WCj4g PiA+ID4gPiA+ID4gPiBwbGF0Zm9ybXMuCj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4g U2lnbmVkLW9mZi1ieTogQW51cCBQYXRlbCA8YXBhdGVsQHZlbnRhbmFtaWNyby5jb20+Cj4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+IFsuLi5dCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gPiArc3Rh dGljIGludCBfX2luaXQgYXBsaWNfZHRfaW5pdChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUsCj4g PiA+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZp Y2Vfbm9kZSAqcGFyZW50KQo+ID4gPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gPiA+ICsgICAg ICAgLyoKPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICogVGhlIEFQTElDIHBsYXRmb3JtIGRyaXZl ciBuZWVkcyB0byBiZSBwcm9iZWQgZWFybHkKPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgICogc28g Zm9yIGRldmljZSB0cmVlOgo+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgKgo+ID4gPiA+ID4gPiA+ ID4gKyAgICAgICAgKiAxKSBTZXQgdGhlIEZXTk9ERV9GTEFHX0JFU1RfRUZGT1JUIGZsYWcgaW4g Zndub2RlIHdoaWNoCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAqICAgIHByb3ZpZGVzIGEgaGlu dCB0byB0aGUgZGV2aWNlIGRyaXZlciBjb3JlIHRvIHByb2JlIHRoZQo+ID4gPiA+ID4gPiA+ID4g KyAgICAgICAgKiAgICBwbGF0Zm9ybSBkcml2ZXIgZWFybHkuCj4gPiA+ID4gPiA+ID4gPiArICAg ICAgICAqIDIpIENsZWFyIHRoZSBPRl9QT1BVTEFURUQgZmxhZyBpbiBkZXZpY2Vfbm9kZSBiZWNh dXNlCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAqICAgIG9mX2lycV9pbml0KCkgc2V0cyBpdCB3 aGljaCBwcmV2ZW50cyBjcmVhdGlvbiBvZgo+ID4gPiA+ID4gPiA+ID4gKyAgICAgICAgKiAgICBw bGF0Zm9ybSBkZXZpY2UuCj4gPiA+ID4gPiA+ID4gPiArICAgICAgICAqLwo+ID4gPiA+ID4gPiA+ ID4gKyAgICAgICBub2RlLT5md25vZGUuZmxhZ3MgfD0gRldOT0RFX0ZMQUdfQkVTVF9FRkZPUlQ7 Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBQbGVhc2Ugc3RvcCBzcGFtbWluZyB1cyB3aXRo IGJyb2tlbiBwYXRjaGVzLiBBbHJlYWR5IHRvbGQgeW91IHRoaXMgaXMKPiA+ID4gPiA+ID4gPiBu b3QgYW4gb3B0aW9uLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gTmFjay4KPiA+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gV2hhdCBwdXp6bGVzIG1lIGhlcmUgaXMgdGhhdCAqbm8gb3RoZXIgYXJj aCogcmVxdWlyZXMgdGhpcyBzb3J0IG9mCj4gPiA+ID4gPiA+IGhhY2suIFdoYXQgaXMgc28gc3Bl Y2lhbCBhYm91dCB0aGUgQVBMSUMgdGhhdCBpdCByZXF1aXJlcyBpdD8gSSBzZWUKPiA+ID4gPiA+ ID4gbm90aGluZyBpbiB0aGlzIHBhdGNoIHRoYXQgZXZlbiBoaW50cyBhdCBpdCwgZGVzcGl0ZSB0 aGUgImRpc2N1c3Npb24iCj4gPiA+ID4gPiA+IGluIHRoZSBsYXN0IHJvdW5kLgo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiBUaGUgcnVsZXMgYXJlIHNpbXBsZToKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ ID4gLSBlaXRoZXIgdGhlIEFQTElDIGlzIHNvIGZ1bmRhbWVudGFsIHRvIHRoZSBzeXN0ZW0gdGhh dCBpdCBoYXMgdG8gYmUKPiA+ID4gPiA+ID4gICBpbml0aWFsaXNlZCBzdXBlciBlYXJseSwgbXVj aCBsaWtlIHRoZSBHSUMgb24gYXJtNjQsIGF0IHdoaWNoIHBvaW50Cj4gPiA+ID4gPiA+ICAgaXQg Y2Fubm90IGJlIGEgcGxhdGZvcm0gZGV2aWNlLCBhbmQgdGhlIHN0b3J5IGlzIHByZXR0eSBzaW1w bGUuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IC0gb3IgaXQgaXNuJ3QgdGhhdCBmdW5kYW1lbnRh bCwgYW5kIGl0IGNhbiBiZSBwcm9iZWQgYXMgYSBwbGF0Zm9ybQo+ID4gPiA+ID4gPiAgIGRldmlj ZSB1c2luZyB0aGUgZGVwZW5kZW5jeSBpbmZyYXN0cnVjdHVyZSB0aGF0IGlzIGFscmVhZHkgdXNl ZCBieQo+ID4gPiA+ID4gPiAgIG11bHRpcGxlIG90aGVyIGludGVycnVwdCBjb250cm9sbGVyIGRy aXZlcnMsIHdpdGhvdXQgYW55IG5lZWQgdG8KPiA+ID4gPiA+ID4gICBtZXNzIHdpdGggaW50ZXJu YWwgZmxhZ3MuIEFnYWluLCB0aGlzIHNob3VsZCBiZSBzaW1wbGUgZW5vdWdoLgo+ID4gPiA+ID4K PiA+ID4gPiA+IEFQTElDIG1hbmFnZXMgYWxsIHdpcmVkIGludGVycnVwdHMgd2hlcmVhcyBJTVNJ QyBtYW5hZ2VzIGFsbAo+ID4gPiA+ID4gTVNJcy4gQm90aCBBUExJQyBhbmQgSU1TSUMgYXJlIGZ1 bmRhbWVudGFsIGRldmljZXMgd2hpY2ggbmVlZAo+ID4gPiA+ID4gdG8gYmUgcHJvYmVkIHN1cGVy IGVhcmx5Lgo+ID4gPiA+ID4KPiA+ID4gPiA+IE5vdyBBUExJQyBoYXMgdHdvIG1vZGVzIG9mIG9w ZXJhdGlvbnM6Cj4gPiA+ID4gPiAxKSBEaXJlY3QgbW9kZSB3aGVyZSB0aGVyZSBpcyBubyBJTVNJ QyBpbiB0aGUgc3lzdGVtIGFuZCBBUExJQwo+ID4gPiA+ID4gICAgIGRpcmVjdGx5IGluamVjdHMg aW50ZXJydXB0IHRvIENQVXMKPiA+ID4gPiA+IDIpIE1TSSBtb2RlIHdoZXJlIElNU0lDIGlzIHBy ZXNlbnQgaW4gdGhlIHN5c3RlbSBhbmQgQVBMSUMKPiA+ID4gPiA+ICAgICBjb252ZXJ0cyB3aXJl ZCBpbnRlcnJ1cHRzIGludG8gTVNJcwo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoZSBBUExJQyBkcml2 ZXIgYWRkZWQgYnkgdGhpcyBwYXRjaCBpcyBhIGNvbW1vbiBkcml2ZXIgZm9yCj4gPiA+ID4gPiBi b3RoIGFib3ZlIG1vZGVzLgo+ID4gPiA+Cj4gPiA+ID4gV2hpY2ggaXQgZG9lc24ndCBuZWVkIHRv IGJlLiBZb3UgYXJlIHBvaW50bGVzc2x5IG1ha2luZyBsaWZlIGRpZmZpY3VsdAo+ID4gPiA+IGZv ciB5b3Vyc2VsZiwgYW5kIGV2ZXJ5b25lIGVsc2UuIFRoZSBNU0kgYnJpZGdlIGJlaGF2aW91ciBo YXMgKnplcm8qCj4gPiA+ID4gcmVhc29uIHRvIGJlIHRoZSBzYW1lIGRyaXZlciBhcyB0aGUgbWFp biAiSSBuZWVkIGl0IHN1cGVyIGVhcmx5Igo+ID4gPiA+IGRyaXZlci4gVGhleSBtYXkgYmUgY2Fs bGVkIHRoZSBzYW1lLCBidXQgdGhleSAqYXJlKiBkaWZmZXJlbnQgdGhpbmdzCj4gPiA+ID4gaW4g dGhlIHN5c3RlbS4KPiA+ID4gPgo+ID4gPiA+IFRoZXkgY2FuIHNoYXJlIGNvZGUsIGJ1dCB0aGV5 IGFyZSBmdW5kYW1lbnRhbGx5IGEgZGlmZmVyZW50IHRoaW5nIGluCj4gPiA+ID4gdGhlIHN5c3Rl bS4gQW5kIEkgZ3Vlc3MgdGhpcyBzaWxseSBhcHByb2FjaCBoYXMgb3RoZXIgcmFtaWZpY2F0aW9u czoKPiA+ID4gPiB0aGUgSU1TSUMgaXMgYWxzbyBzb21lIGVhcmx5IGRyaXZlciB3aGVuIGl0IHJl YWxseSBkb2Vzbid0IG5lZWQgdG8gYmUuCj4gPiA+ID4gV2hvIG5lZWRzIE1TSXMgdGhhdCBlYXJs eSBpbiB0aGUgbGlmZSBvZiB0aGUgc3lzdGVtPyBJIGRvbid0IGJ1eSB0aGlzCj4gPiA+ID4gZm9y IGV2ZW4gYSBzZWNvbmQuCj4gPiA+Cj4gPiA+IElNU0lDIGFsc28gcHJvdmlkZXMgSVBJcyB3aGlj aCBhcmUgcmVxdWlyZWQgc3VwZXIgZWFybHkgc28gSSB0aGluawo+ID4gPiB3ZSBjYW4ndCBtYWtl IElNU0lDIGFzIGEgcGxhdGZvcm0gZHJpdmVyLgo+ID4KPiA+IFRoZW4gc3BsaXQgdGhpcyBwYXJ0 IGZ1cnRoZXIuIEp1c3QgYmVjYXVzZSB0aGUgYXJjaGl0ZWN0dXJlIGx1bXBzIHR3bwo+ID4gY29t cGxldGVseSB1bnJlbGF0ZWQgY29uY2VwdHMgdG9nZXRoZXIgZG9lc24ndCBtZWFuIHdlIG5lZWQg dG8gZm9sbG93Cj4gPiB0aGUgc2FtZSBvcmdhbmlzYXRpb24uCj4gCj4gSVBJcyBhcmUgc3VwcG9y dGVkIGFzIHNvZnR3YXJlIGluamVjdGVkIE1TSXMuIEJhc2ljYWxseSwgZWFjaCBIQVJUCj4gaGFz IGl0cyBvd24gTVNJIGNvbnRyb2xsZXIgYW5kIG9uZSBIQVJUIGNhbiBpbmplY3QgSVBJIHRvIG90 aGVyIEhBUlQKPiBieSB3cml0aW5nIGl0cyBNU0kgTU1JTyByZWdpc3Rlci4KPiAKPiA+Cj4gPiA+ Cj4gPiA+ID4KPiA+ID4gPiBGcmFua2x5LCB0aGlzIHdob2xlIHRoaW5nIG5lZWRzIHRvIGJlIHRh a2VuIGFwYXJ0IGFuZCByZWJ1aWx0IGZyb20gdGhlCj4gPiA+ID4gZ3JvdW5kIHVwLgo+ID4gPiA+ Cj4gPiA+ID4gPiBGb3IgIzIsIEFQTElDIG5lZWRzIHRvIGJlIGEgcGxhdGZvcm0gZGV2aWNlIHRv IGNyZWF0ZSBhIGRldmljZQo+ID4gPiA+ID4gTVNJIGRvbWFpbiB1c2luZyBwbGF0Zm9ybV9tc2lf Y3JlYXRlX2RldmljZV9kb21haW4oKSB3aGljaAo+ID4gPiA+ID4gaXMgd2h5IHRoZSBBUExJQyBk cml2ZXIgaXMgYSBwbGF0Zm9ybSBkcml2ZXIuCj4gPiA+ID4KPiA+ID4gPiBZb3UgY2FuJ3QgaGF2 ZSB5b3VyIGNha2UgYW5kIGVhdCBpdC4gSWYgbmVlZGVkIHN1cGVyIGVhcmx5LCBhbmQgaXQKPiA+ ID4gPiBjYW5ub3QgYmUgYSBwbGF0Zm9ybSBkcml2ZXIuIEVuZCBvZiB0aGUgc3RvcnkuCj4gPiA+ ID4KPiA+ID4gPiBBbmQgdG8gbXkgZWFybGllciBwb2ludDogSU1TSUMgYW5kIEFQTElDLWFzLU1T SS1icmlkZ2UgaGF2ZSBubyBwdXJwb3NlCj4gPiA+ID4gYmVpbmcgZWFybHkgZHJpdmVycy4gVGhl eSBtdXN0IGJlIHBsYXRmb3JtIGRyaXZlcnMsIGFuZCBvbmx5IHRoYXQuCj4gPiA+Cj4gPiA+IFdl IGNhbiBoYXZlIElNU0lDIGFuZCBBUExJQy1EaXJlY3QtTW9kZSBhcyBub24tcGxhdGZvcm0gZHJp dmVyCj4gPiA+IHdoZXJlYXMgQVBMSUMtYXMtTVNJLWJyaWRnZSB3aWxsIGJlIGEgcGxhdGZvcm0g ZHJpdmVyLgo+ID4gPgo+ID4gPiBCb3RoIEFQTElDLURpcmVjdC1Nb2RlIGFuZCBBUExJQy1hcy1N U0ktYnJpZGdlIGNhbiBzaGFyZSBhIGxhcmdlCj4gPiA+IHBhcnQgb2YgdGhlIGN1cnJlbnQgZHJp dmVyLgo+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gPiA+IElmIHRoZXNlIHJ1bGVzIGRvbid0IGFwcGx5 IHRvIHlvdXIgc3R1ZmYsIHBsZWFzZSBleHBsYWluIHdoYXQgaXMgc28KPiA+ID4gPiA+ID4gZGlm ZmVyZW50LiBBbmQgSSBtZWFuIGFjdHVhbGx5IGV4cGxhaW4gdGhlIGlzc3VlLiBXaGljaCBpc24n dCB0ZWxsaW5nCj4gPiA+ID4gPiA+IHVzICJpdCBkb2Vzbid0IHdvcmsgd2l0aG91dCBpdCIuIEJl Y2F1c2UgYXMgdGhpbmdzIHN0YW5kLCB0aGVyZSBpcyBubwo+ID4gPiA+ID4gPiB3YXkgSSB3aWxs IGV2ZW4gY29uc2lkZXIgdGFraW5nIHRoaXMgdWdseSBtaXggb2YgcHJvYmluZyBtZXRob2RzLgo+ ID4gPiA+ID4KPiA+ID4gPiA+IFllcywgSSBkb24ndCB3YW50IHRoaXMgdWdseSBGV05PREVfRkxB R19CRVNUX0VGRk9SVCBoYWNrCj4gPiA+ID4gPiBpbiB0aGlzIGRyaXZlci4KPiA+ID4gPgo+ID4g PiA+IEFuZCB5ZXQgeW91IGFyZSBoYW1tZXJpbmcgaXQgZXZlbiB3aGVuIHRvbGQgdGhpcyBpcyB3 cm9uZy4KPiA+ID4gPgo+ID4gPiA+ID4gSSB0cmllZCBzZXZlcmFsIHRoaW5ncyBidXQgc2V0dGlu ZyB0aGUgRldOT0RFX0ZMQUdfQkVTVF9FRkZPUlQKPiA+ID4gPiA+IGZsYWcgaXMgdGhlIG9ubHkg dGhpbmcgd2hpY2ggd29ya3MgcmlnaHQgbm93Lgo+ID4gPiA+Cj4gPiA+ID4gSG93IGFib3V0IHlv dSB0YWtlIGEgc3RlcCBiYWNrIGFuZCByZWFsaXNlIHRoYXQgdGhlIHdheSB5b3UndmUKPiA+ID4g PiBhcmNoaXRlY3RlZCB5b3VyIGRyaXZlcnMgbWFrZXMgbGl0dGxlIHNlbnNlPyBJIGRvbid0IHRo aW5rIHlvdSBoYXZlCj4gPiA+ID4gdHJpZWQgKnRoYXQqLgo+ID4gPgo+ID4gPiBCb3RoIEFQTElD IGFuZCBJTVNJQyBhcmUgc2VwYXJhdGUgZGV2aWNlcyBhcyBkZWZpbmVkIGJ5IHRoZSBBSUEgc3Bl Yy4KPiA+ID4KPiA+ID4gVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIHN5c3RlbXM6Cj4gPiA+IDEp IFN5c3RlbXMgd2l0aCBvbmx5IEFQTElDIChpLmUuIG9ubHkgd2lyZWQgaW50ZXJydXB0cykKPiA+ ID4gMikgU3lzdGVtcyB3aXRoIG9ubHkgSU1TSUMgKGkuZS4gb25seSBNU0lzKQo+ID4KPiA+IEhv dyBpcyB0aGF0IHBvc3NpYmxlPyBBcmUgeW91IHNheWluZyB0aGF0IGV2ZW4gdGhpbmdzIGxpa2Ug dGltZXJzIGFyZQo+ID4gZmlyaW5nIGFzIE1TSXM/Cj4gCj4gTm8sIHRpbWVyIGludGVycnVwdHMg YXJlIHRyaWdnZXJlZCB0aHJvdWdoIElOVEMuCgpTbyBhbGwgdGhlIGFib3ZlIGlzIEJTLiBBbGwg eW91IG5lZWQgaXMgdGltZXJzIGFuZCBJUElzIHRvIGJlCnN1cHBvcnRlZCBlYXJseS4gIEV2ZXJ5 dGhpbmcgZWxzZSBjYW4gYmUgcG9zdHBvbmVkIHVudGlsIHlvdSBwcm9iZSB0aGUKcmVzdCBvZiB0 aGUgaW50ZXJydXB0IGhpZXJhcmNoeS4KCglNLgoKLS0gCldpdGhvdXQgZGV2aWF0aW9uIGZyb20g dGhlIG5vcm0sIHByb2dyZXNzIGlzIG5vdCBwb3NzaWJsZS4KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51 eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1A0E4C0015E for ; Mon, 17 Jul 2023 09:48:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231223AbjGQJsy (ORCPT ); Mon, 17 Jul 2023 05:48:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229623AbjGQJsd (ORCPT ); Mon, 17 Jul 2023 05:48:33 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28DE813D; Mon, 17 Jul 2023 02:48:32 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 938D761000; Mon, 17 Jul 2023 09:48:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7658C433C8; Mon, 17 Jul 2023 09:48:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689587311; bh=JdKVUUp6m0Uye11so85pYdbz5La3leOelaYQhIMR/ow=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=oxoQSO72xKHk5tAprUaf/IoUnkyd4nPgQOmA4cNPs0Pwqvf7arZNFCaNDtXqnKyDm LwriU5lzm7OQtL2/QtWxb4lJPBaQcP6es/8cDYuI5/LTfHYQeR51ECAQHTKLas0eXb 5Ti50RDLr5eHNO8fv53d0BeMuugKkPukujsw/g6d+EXMBUE/jG/HVz8UHvb6pT9yN0 BELBKLd229ZPw6fnG3ElF2ltYVVFi/ceD5Jb0HVbSlLd9gfNqMDw0e+gsGSiMVVE0n rLX77uGJtjxGAHl/r4PGOFZRfE0GDkyCsAPg058zTd3X4UhPlfVPmlsuEwNKWE1VRw 6xSJNGo55N1gA== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1qLKqC-00DgoU-Ej; Mon, 17 Jul 2023 10:48:28 +0100 Date: Mon, 17 Jul 2023 10:48:28 +0100 Message-ID: <865y6ivpg3.wl-maz@kernel.org> From: Marc Zyngier To: Anup Patel Cc: Anup Patel , Saravana Kannan , Palmer Dabbelt , Paul Walmsley , Thomas Gleixner , Rob Herring , Krzysztof Kozlowski , Atish Patra , Andrew Jones , Sunil V L , Conor Dooley , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: Re: [PATCH v5 7/9] irqchip: Add RISC-V advanced PLIC driver In-Reply-To: References: <20230710094321.1378351-1-apatel@ventanamicro.com> <20230710094321.1378351-8-apatel@ventanamicro.com> <86jzv2vpdb.wl-maz@kernel.org> <86cz0uvcof.wl-maz@kernel.org> <868rbfufn2.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.2 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: apatel@ventanamicro.com, anup@brainfault.org, saravanak@google.com, palmer@dabbelt.com, paul.walmsley@sifive.com, tglx@linutronix.de, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, atishp@atishpatra.org, ajones@ventanamicro.com, sunilvl@ventanamicro.com, conor@kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Mon, 17 Jul 2023 10:05:01 +0100, Anup Patel wrote: >=20 > On Mon, Jul 17, 2023 at 1:35=E2=80=AFPM Marc Zyngier wro= te: > > > > On Fri, 14 Jul 2023 15:05:07 +0100, > > Anup Patel wrote: > > > > > > On Fri, Jul 14, 2023 at 7:05=E2=80=AFPM Marc Zyngier = wrote: > > > > > > > > On Fri, 14 Jul 2023 10:35:34 +0100, > > > > Anup Patel wrote: > > > > > > > > > > On Fri, Jul 14, 2023 at 2:31=E2=80=AFPM Marc Zyngier wrote: > > > > > > > > > > > > Anup, > > > > > > > > > > > > On Fri, 14 Jul 2023 00:56:22 +0100, > > > > > > Saravana Kannan wrote: > > > > > > > > > > > > > > On Mon, Jul 10, 2023 at 2:44=E2=80=AFAM Anup Patel wrote: > > > > > > > > > > > > > > > > The RISC-V advanced interrupt architecture (AIA) specificat= ion defines > > > > > > > > a new interrupt controller for managing wired interrupts on= a RISC-V > > > > > > > > platform. This new interrupt controller is referred to as a= dvanced > > > > > > > > platform-level interrupt controller (APLIC) which can forwa= rd wired > > > > > > > > interrupts to CPUs (or HARTs) as local interrupts OR as mes= sage > > > > > > > > signaled interrupts. > > > > > > > > (For more details refer https://github.com/riscv/riscv-aia) > > > > > > > > > > > > > > > > This patch adds an irqchip driver for RISC-V APLIC found on= RISC-V > > > > > > > > platforms. > > > > > > > > > > > > > > > > Signed-off-by: Anup Patel > > > > > > > > > > > > [...] > > > > > > > > > > > > > > +static int __init aplic_dt_init(struct device_node *node, > > > > > > > > + struct device_node *parent) > > > > > > > > +{ > > > > > > > > + /* > > > > > > > > + * The APLIC platform driver needs to be probed ear= ly > > > > > > > > + * so for device tree: > > > > > > > > + * > > > > > > > > + * 1) Set the FWNODE_FLAG_BEST_EFFORT flag in fwnod= e which > > > > > > > > + * provides a hint to the device driver core to = probe the > > > > > > > > + * platform driver early. > > > > > > > > + * 2) Clear the OF_POPULATED flag in device_node be= cause > > > > > > > > + * of_irq_init() sets it which prevents creation= of > > > > > > > > + * platform device. > > > > > > > > + */ > > > > > > > > + node->fwnode.flags |=3D FWNODE_FLAG_BEST_EFFORT; > > > > > > > > > > > > > > Please stop spamming us with broken patches. Already told you= this is > > > > > > > not an option. > > > > > > > > > > > > > > Nack. > > > > > > > > > > > > What puzzles me here is that *no other arch* requires this sort= of > > > > > > hack. What is so special about the APLIC that it requires it? I= see > > > > > > nothing in this patch that even hints at it, despite the "discu= ssion" > > > > > > in the last round. > > > > > > > > > > > > The rules are simple: > > > > > > > > > > > > - either the APLIC is so fundamental to the system that it has = to be > > > > > > initialised super early, much like the GIC on arm64, at which= point > > > > > > it cannot be a platform device, and the story is pretty simpl= e. > > > > > > > > > > > > - or it isn't that fundamental, and it can be probed as a platf= orm > > > > > > device using the dependency infrastructure that is already us= ed by > > > > > > multiple other interrupt controller drivers, without any need= to > > > > > > mess with internal flags. Again, this should be simple enough. > > > > > > > > > > APLIC manages all wired interrupts whereas IMSIC manages all > > > > > MSIs. Both APLIC and IMSIC are fundamental devices which need > > > > > to be probed super early. > > > > > > > > > > Now APLIC has two modes of operations: > > > > > 1) Direct mode where there is no IMSIC in the system and APLIC > > > > > directly injects interrupt to CPUs > > > > > 2) MSI mode where IMSIC is present in the system and APLIC > > > > > converts wired interrupts into MSIs > > > > > > > > > > The APLIC driver added by this patch is a common driver for > > > > > both above modes. > > > > > > > > Which it doesn't need to be. You are pointlessly making life diffic= ult > > > > for yourself, and everyone else. The MSI bridge behaviour has *zero* > > > > reason to be the same driver as the main "I need it super early" > > > > driver. They may be called the same, but they *are* different things > > > > in the system. > > > > > > > > They can share code, but they are fundamentally a different thing in > > > > the system. And I guess this silly approach has other ramifications: > > > > the IMSIC is also some early driver when it really doesn't need to = be. > > > > Who needs MSIs that early in the life of the system? I don't buy th= is > > > > for even a second. > > > > > > IMSIC also provides IPIs which are required super early so I think > > > we can't make IMSIC as a platform driver. > > > > Then split this part further. Just because the architecture lumps two > > completely unrelated concepts together doesn't mean we need to follow > > the same organisation. >=20 > IPIs are supported as software injected MSIs. Basically, each HART > has its own MSI controller and one HART can inject IPI to other HART > by writing its MSI MMIO register. >=20 > > > > > > > > > > > > > Frankly, this whole thing needs to be taken apart and rebuilt from = the > > > > ground up. > > > > > > > > > For #2, APLIC needs to be a platform device to create a device > > > > > MSI domain using platform_msi_create_device_domain() which > > > > > is why the APLIC driver is a platform driver. > > > > > > > > You can't have your cake and eat it. If needed super early, and it > > > > cannot be a platform driver. End of the story. > > > > > > > > And to my earlier point: IMSIC and APLIC-as-MSI-bridge have no purp= ose > > > > being early drivers. They must be platform drivers, and only that. > > > > > > We can have IMSIC and APLIC-Direct-Mode as non-platform driver > > > whereas APLIC-as-MSI-bridge will be a platform driver. > > > > > > Both APLIC-Direct-Mode and APLIC-as-MSI-bridge can share a large > > > part of the current driver. > > > > > > > > > > > > > If these rules don't apply to your stuff, please explain what i= s so > > > > > > different. And I mean actually explain the issue. Which isn't t= elling > > > > > > us "it doesn't work without it". Because as things stand, there= is no > > > > > > way I will even consider taking this ugly mix of probing method= s. > > > > > > > > > > Yes, I don't want this ugly FWNODE_FLAG_BEST_EFFORT hack > > > > > in this driver. > > > > > > > > And yet you are hammering it even when told this is wrong. > > > > > > > > > I tried several things but setting the FWNODE_FLAG_BEST_EFFORT > > > > > flag is the only thing which works right now. > > > > > > > > How about you take a step back and realise that the way you've > > > > architected your drivers makes little sense? I don't think you have > > > > tried *that*. > > > > > > Both APLIC and IMSIC are separate devices as defined by the AIA spec. > > > > > > There are three possible systems: > > > 1) Systems with only APLIC (i.e. only wired interrupts) > > > 2) Systems with only IMSIC (i.e. only MSIs) > > > > How is that possible? Are you saying that even things like timers are > > firing as MSIs? >=20 > No, timer interrupts are triggered through INTC. So all the above is BS. All you need is timers and IPIs to be supported early. Everything else can be postponed until you probe the rest of the interrupt hierarchy. M. --=20 Without deviation from the norm, progress is not possible.