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=-11.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 131C2C433E0 for ; Thu, 21 Jan 2021 16:43:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BE67A23A23 for ; Thu, 21 Jan 2021 16:43:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388223AbhAUQnf (ORCPT ); Thu, 21 Jan 2021 11:43:35 -0500 Received: from mail.kernel.org ([198.145.29.99]:34274 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733096AbhAUQlP (ORCPT ); Thu, 21 Jan 2021 11:41:15 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2A09523A54 for ; Thu, 21 Jan 2021 16:40:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1611247233; bh=puSY6uhE0WSvNJj3Ra4/jrZiRTQj5xzHz1Mnh6amjVA=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=RKPz+W5dnwEknFMKsoy4SzAS4BJvarJlMokvPGn5I3ULtVf6wtfIV3pY6x5zaXtyf Zs1OEGM08q88qQIR0u6zo1QjnDsFfdx8dzq4SrDVCw+3lErDLAWwOgWb7LLQFJD6UG dr+/hDcChz/YFYQmNhXr9Z2ZLLh0XQnlDtO68kevFT2DwW0osXriBljLxmGmCTZ5s7 Sy+2ZOSgjekIvoTHGa+4rCg4n+UgzmHP6Y0xdOv1r93LdquilGRyyQyxNlAZ65Vbw+ kv8QoIfxAQJTPj4UwLzKwXL9/kblg2zVymsNbHmJ9O8T3pxMBQtcLhV64Hbmtwp7/j GrvTJiPsP/E7A== Received: by mail-ed1-f49.google.com with SMTP id b2so3267497edm.3 for ; Thu, 21 Jan 2021 08:40:33 -0800 (PST) X-Gm-Message-State: AOAM5335ERds/WRXJru3LyXcHsCKuPxYwQ0HJ4buj+/R8GjShJ+VSnuj CXLtM7Ep/LsNPYOLFYgcuYSkcRWhx/lF6ppxUQ== X-Google-Smtp-Source: ABdhPJxvpkfC/5dDivh89wg+nSyrWVVNwuQ0JsmZCEpFOCrEISk4ujD4yuIQM5MSsJ6d3Zz7sn9itcUaCzYRsktcm1I= X-Received: by 2002:a50:e78b:: with SMTP id b11mr11884224edn.165.1611247231619; Thu, 21 Jan 2021 08:40:31 -0800 (PST) MIME-Version: 1.0 References: <20210120132717.395873-1-mohamed.mediouni@caramail.com> <20210120132717.395873-8-mohamed.mediouni@caramail.com> In-Reply-To: From: Rob Herring Date: Thu, 21 Jan 2021 10:40:17 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 7/7] irqchip/apple-aic: add SMP support to the Apple AIC driver. To: Mohamed Mediouni Cc: Arnd Bergmann , Mark Rutland , Catalin Marinas , Hector Martin , "linux-kernel@vger.kernel.org" , Marc Zyngier , Will Deacon , Linux ARM , Stan Skowronek Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 21, 2021 at 6:52 AM Mohamed Mediouni wrote: > > > > > On 21 Jan 2021, at 13:44, Arnd Bergmann wrote: > > > > On Wed, Jan 20, 2021 at 2:27 PM Mohamed Mediouni > > wrote: > > > >> +#ifdef CONFIG_SMP > >> +static void apple_aic_ipi_send_mask(struct irq_data *d, > >> + const struct cpumask *mask) > > > > Not sure we care about the #ifdef here, given that arch/arm64 does not > > allow building a kernel without CONFIG_SMP. > > > >> + /* > >> + * Ensure that stores to Normal memory are visible to the > >> + * other CPUs before issuing the IPI. > >> + */ > >> + wmb(); > >> + > >> + for_each_cpu (cpu, mask) { > >> + smp_mb__before_atomic(); > >> + atomic_or(1u << irqnr, per_cpu_ptr(&aic_ipi_mask, cpu)= ); > >> + smp_mb__after_atomic(); > >> + lcpu =3D get_cpu(); > >> + if (aic.fast_ipi) { > >> + if ((lcpu >> 2) =3D=3D (cpu >> 2)) > >> + write_sysreg(cpu & 3, SR_APPLE_IPI_LOC= AL); > >> + else > >> + write_sysreg((cpu & 3) | ((cpu >> 2) <= < 16), > >> + SR_APPLE_IPI_REMOTE); > >> + } else > >> + writel(lcpu =3D=3D cpu ? REG_IPI_FLAG_SELF : > >> + (REG_IPI_FLAG_OTHER= << cpu), > >> + aic.base + REG_IPI_SET); > >> + put_cpu(); > >> + } > >> + > >> + /* Force the above writes to be executed */ > >> + if (aic.fast_ipi) > >> + isb(); > >> +} > > > > Since this just loops over all CPUs, I'd probably just turn it into > > an ipi_send_single() callback and have the caller do the > > loop for simplicity. > > > > I also have the feeling that splitting one hardware IPI into multiple > > logical interrupts, which are then all registered by the same irq > > handler adds a little more complexity than necessary. > > > > Changing this would of course require modifications to > > arch/arm64/kernel/smp.c, which is hardwired to use > > CONFIG_GENERIC_IRQ_IPI in smp_cross_call(), and allowing > > a different code path there may be worse than emulating an > > irqchip. > > > >> @@ -186,8 +325,11 @@ static int __init apple_aic_init(struct device_no= de *node, > >> if (WARN(!aic.base, "unable to map aic registers\n")) > >> return -EINVAL; > >> > >> + aic.fast_ipi =3D of_property_read_bool(node, "fast-ipi"); > > > > Where is this property documented, and what decides which one to use? > It=E2=80=99s getting documented in the next patch set. > > This property is there to enable support for older iPhone processors > later on, some of which do not have fast IPI support. > > On Apple M1, fast-ipi is always on. This should be implied by the compatible string which needs to be more specific and include the SoC name. Rob 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=-9.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=ham 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 0F257C433DB for ; Thu, 21 Jan 2021 16:43:15 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 BBF8323A22 for ; Thu, 21 Jan 2021 16:43:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BBF8323A22 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3EaQzrLiwolJ7p73z3jUypUrNBfGDCUFVgVZndVO9O4=; b=HQxlfulOUJgAnkbVpqvtnIRsw gFrkbpswvceS9t9RKiUPuGEW9rIAVQE6q/lv2j9yRoTPdDHLR0hrv9h69zDkvanKNC16bMFwXPOhH DuX2vS4noRqAFKOaWIkjWXcsX3D00wKTVFfDSjAgsVEGG5pJmcxbjIG5vmTou4e/LNgk7DOwpUcEe OpqtzshdUQTCz7YG/uGox6g/l5brzZfKUJJfbtEwoK/4JqadvXfXX/mmJcf99a5zz1/0BeGh1Ig7d XbYjPwn1vAgPOQwRFccuHCRK6yueSXIm2VeMuEL/xePOfS5aNa67hAKgGZUc74K97S9b/jOBJy/ZP 6HKKYprww==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l2d1X-0003Yd-Fw; Thu, 21 Jan 2021 16:41:31 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l2d0c-0003DV-RB for linux-arm-kernel@lists.infradead.org; Thu, 21 Jan 2021 16:40:41 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 27E7423A51 for ; Thu, 21 Jan 2021 16:40:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1611247233; bh=puSY6uhE0WSvNJj3Ra4/jrZiRTQj5xzHz1Mnh6amjVA=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=RKPz+W5dnwEknFMKsoy4SzAS4BJvarJlMokvPGn5I3ULtVf6wtfIV3pY6x5zaXtyf Zs1OEGM08q88qQIR0u6zo1QjnDsFfdx8dzq4SrDVCw+3lErDLAWwOgWb7LLQFJD6UG dr+/hDcChz/YFYQmNhXr9Z2ZLLh0XQnlDtO68kevFT2DwW0osXriBljLxmGmCTZ5s7 Sy+2ZOSgjekIvoTHGa+4rCg4n+UgzmHP6Y0xdOv1r93LdquilGRyyQyxNlAZ65Vbw+ kv8QoIfxAQJTPj4UwLzKwXL9/kblg2zVymsNbHmJ9O8T3pxMBQtcLhV64Hbmtwp7/j GrvTJiPsP/E7A== Received: by mail-ed1-f47.google.com with SMTP id j13so3268747edp.2 for ; Thu, 21 Jan 2021 08:40:33 -0800 (PST) X-Gm-Message-State: AOAM532xBe2TtuyvnMCkknXqLF9SsXZv7tw2F9s8Ed1FnPDUjwO9qx3J LU6KoJqYlDJ2gdaVMQEA7NanS2P2FJ5fH74Big== X-Google-Smtp-Source: ABdhPJxvpkfC/5dDivh89wg+nSyrWVVNwuQ0JsmZCEpFOCrEISk4ujD4yuIQM5MSsJ6d3Zz7sn9itcUaCzYRsktcm1I= X-Received: by 2002:a50:e78b:: with SMTP id b11mr11884224edn.165.1611247231619; Thu, 21 Jan 2021 08:40:31 -0800 (PST) MIME-Version: 1.0 References: <20210120132717.395873-1-mohamed.mediouni@caramail.com> <20210120132717.395873-8-mohamed.mediouni@caramail.com> In-Reply-To: From: Rob Herring Date: Thu, 21 Jan 2021 10:40:17 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 7/7] irqchip/apple-aic: add SMP support to the Apple AIC driver. To: Mohamed Mediouni X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210121_114035_091024_0B7E41EA X-CRM114-Status: GOOD ( 27.93 ) 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: Mark Rutland , Arnd Bergmann , Marc Zyngier , Hector Martin , "linux-kernel@vger.kernel.org" , Catalin Marinas , Will Deacon , Linux ARM , Stan Skowronek Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKYW4gMjEsIDIwMjEgYXQgNjo1MiBBTSBNb2hhbWVkIE1lZGlvdW5pCjxtb2hhbWVk Lm1lZGlvdW5pQGNhcmFtYWlsLmNvbT4gd3JvdGU6Cj4KPgo+Cj4gPiBPbiAyMSBKYW4gMjAyMSwg YXQgMTM6NDQsIEFybmQgQmVyZ21hbm4gPGFybmRAa2VybmVsLm9yZz4gd3JvdGU6Cj4gPgo+ID4g T24gV2VkLCBKYW4gMjAsIDIwMjEgYXQgMjoyNyBQTSBNb2hhbWVkIE1lZGlvdW5pCj4gPiA8bW9o YW1lZC5tZWRpb3VuaUBjYXJhbWFpbC5jb20+IHdyb3RlOgo+ID4KPiA+PiArI2lmZGVmIENPTkZJ R19TTVAKPiA+PiArc3RhdGljIHZvaWQgYXBwbGVfYWljX2lwaV9zZW5kX21hc2soc3RydWN0IGly cV9kYXRhICpkLAo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBjcHVtYXNrICptYXNrKQo+ID4KPiA+IE5vdCBzdXJlIHdlIGNhcmUgYWJvdXQgdGhl ICNpZmRlZiBoZXJlLCBnaXZlbiB0aGF0IGFyY2gvYXJtNjQgZG9lcyBub3QKPiA+IGFsbG93IGJ1 aWxkaW5nIGEga2VybmVsIHdpdGhvdXQgQ09ORklHX1NNUC4KPiA+Cj4gPj4gKyAgICAgICAvKgo+ ID4+ICsgICAgICogRW5zdXJlIHRoYXQgc3RvcmVzIHRvIE5vcm1hbCBtZW1vcnkgYXJlIHZpc2li bGUgdG8gdGhlCj4gPj4gKyAgICAgKiBvdGhlciBDUFVzIGJlZm9yZSBpc3N1aW5nIHRoZSBJUEku Cj4gPj4gKyAgICAgKi8KPiA+PiArICAgICAgIHdtYigpOwo+ID4+ICsKPiA+PiArICAgICAgIGZv cl9lYWNoX2NwdSAoY3B1LCBtYXNrKSB7Cj4gPj4gKyAgICAgICAgICAgICAgIHNtcF9tYl9fYmVm b3JlX2F0b21pYygpOwo+ID4+ICsgICAgICAgICAgICAgICBhdG9taWNfb3IoMXUgPDwgaXJxbnIs IHBlcl9jcHVfcHRyKCZhaWNfaXBpX21hc2ssIGNwdSkpOwo+ID4+ICsgICAgICAgICAgICAgICBz bXBfbWJfX2FmdGVyX2F0b21pYygpOwo+ID4+ICsgICAgICAgICAgICAgICBsY3B1ID0gZ2V0X2Nw dSgpOwo+ID4+ICsgICAgICAgICAgICAgICBpZiAoYWljLmZhc3RfaXBpKSB7Cj4gPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgaWYgKChsY3B1ID4+IDIpID09IChjcHUgPj4gMikpCj4gPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9zeXNyZWcoY3B1ICYgMywgU1JfQVBQ TEVfSVBJX0xPQ0FMKTsKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICBlbHNlCj4gPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9zeXNyZWcoKGNwdSAmIDMpIHwgKChj cHUgPj4gMikgPDwgMTYpLAo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNSX0FQUExFX0lQSV9SRU1PVEUpOwo+ID4+ICsgICAgICAgICAgICAgICB9IGVs c2UKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICB3cml0ZWwobGNwdSA9PSBjcHUgPyBSRUdf SVBJX0ZMQUdfU0VMRiA6Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKFJFR19JUElfRkxBR19PVEhFUiA8PCBjcHUpLAo+ID4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhaWMuYmFzZSArIFJFR19JUElfU0VUKTsKPiA+PiArICAg ICAgICAgICAgICAgcHV0X2NwdSgpOwo+ID4+ICsgICAgICAgfQo+ID4+ICsKPiA+PiArICAgICAg IC8qIEZvcmNlIHRoZSBhYm92ZSB3cml0ZXMgdG8gYmUgZXhlY3V0ZWQgKi8KPiA+PiArICAgICAg IGlmIChhaWMuZmFzdF9pcGkpCj4gPj4gKyAgICAgICAgICAgICAgIGlzYigpOwo+ID4+ICt9Cj4g Pgo+ID4gU2luY2UgdGhpcyBqdXN0IGxvb3BzIG92ZXIgYWxsIENQVXMsIEknZCBwcm9iYWJseSBq dXN0IHR1cm4gaXQgaW50bwo+ID4gYW4gaXBpX3NlbmRfc2luZ2xlKCkgY2FsbGJhY2sgYW5kIGhh dmUgdGhlIGNhbGxlciBkbyB0aGUKPiA+IGxvb3AgZm9yIHNpbXBsaWNpdHkuCj4gPgo+ID4gSSBh bHNvIGhhdmUgdGhlIGZlZWxpbmcgdGhhdCBzcGxpdHRpbmcgb25lIGhhcmR3YXJlIElQSSBpbnRv IG11bHRpcGxlCj4gPiBsb2dpY2FsIGludGVycnVwdHMsIHdoaWNoIGFyZSB0aGVuIGFsbCByZWdp c3RlcmVkIGJ5IHRoZSBzYW1lIGlycQo+ID4gaGFuZGxlciBhZGRzIGEgbGl0dGxlIG1vcmUgY29t cGxleGl0eSB0aGFuIG5lY2Vzc2FyeS4KPiA+Cj4gPiBDaGFuZ2luZyB0aGlzIHdvdWxkIG9mIGNv dXJzZSByZXF1aXJlIG1vZGlmaWNhdGlvbnMgdG8KPiA+IGFyY2gvYXJtNjQva2VybmVsL3NtcC5j LCB3aGljaCBpcyBoYXJkd2lyZWQgdG8gdXNlCj4gPiBDT05GSUdfR0VORVJJQ19JUlFfSVBJIGlu IHNtcF9jcm9zc19jYWxsKCksIGFuZCBhbGxvd2luZwo+ID4gYSBkaWZmZXJlbnQgY29kZSBwYXRo IHRoZXJlIG1heSBiZSB3b3JzZSB0aGFuIGVtdWxhdGluZyBhbgo+ID4gaXJxY2hpcC4KPiA+Cj4g Pj4gQEAgLTE4Niw4ICszMjUsMTEgQEAgc3RhdGljIGludCBfX2luaXQgYXBwbGVfYWljX2luaXQo c3RydWN0IGRldmljZV9ub2RlICpub2RlLAo+ID4+ICAgICAgIGlmIChXQVJOKCFhaWMuYmFzZSwg InVuYWJsZSB0byBtYXAgYWljIHJlZ2lzdGVyc1xuIikpCj4gPj4gICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsKPiA+Pgo+ID4+ICsgICAgICAgYWljLmZhc3RfaXBpID0gb2ZfcHJvcGVydHlf cmVhZF9ib29sKG5vZGUsICJmYXN0LWlwaSIpOwo+ID4KPiA+IFdoZXJlIGlzIHRoaXMgcHJvcGVy dHkgZG9jdW1lbnRlZCwgYW5kIHdoYXQgZGVjaWRlcyB3aGljaCBvbmUgdG8gdXNlPwo+IEl04oCZ cyBnZXR0aW5nIGRvY3VtZW50ZWQgaW4gdGhlIG5leHQgcGF0Y2ggc2V0Lgo+Cj4gVGhpcyBwcm9w ZXJ0eSBpcyB0aGVyZSB0byBlbmFibGUgc3VwcG9ydCBmb3Igb2xkZXIgaVBob25lIHByb2Nlc3Nv cnMKPiBsYXRlciBvbiwgc29tZSBvZiB3aGljaCBkbyBub3QgaGF2ZSBmYXN0IElQSSBzdXBwb3J0 Lgo+Cj4gT24gQXBwbGUgTTEsIGZhc3QtaXBpIGlzIGFsd2F5cyBvbi4KClRoaXMgc2hvdWxkIGJl IGltcGxpZWQgYnkgdGhlIGNvbXBhdGlibGUgc3RyaW5nIHdoaWNoIG5lZWRzIHRvIGJlIG1vcmUK c3BlY2lmaWMgYW5kIGluY2x1ZGUgdGhlIFNvQyBuYW1lLgoKUm9iCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==