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 AE2A7D462C3 for ; Wed, 13 Nov 2024 15:31:53 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=SfqY8rJpkbN4YRmZZ4OrRIkks73306XCqakCEidMs5A=; b=TN2iz7iY94UN/H IUeQpFQsIKakhGaVmvo30zrI6RS6PnLWuUxXGQC23Oh3tJ8xkuo9XS5yDbOA/s00pgASy6tDl/0iW EyVDH5GkXK6yziqgNql7Gy4VhUm81MRKYCKYb3a3vF7gUO9TLkD4X0nt7jzR2gKTgpmSIIzhqNMu+ E2Eyyz5fiEapjElM0sbV0MvxojTkf2t9h/emJFD0IFTxj2slgcxbPxEdBSNSfwJ6m0BSj/vLhHd9Q cx3tFRtRyO6Wz4nyVMlGMFgIVlyguTdM0/5dlb6rxM8TI/JeQrqbXbrUJg+dPUDp4ELKIIXvpPu+c EVGQxcJIlU1VzNMm5+gg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tBFLQ-00000007JL9-0LbQ; Wed, 13 Nov 2024 15:31:48 +0000 Received: from galois.linutronix.de ([2a0a:51c0:0:12e:550::1]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tBFL9-00000007JHn-2vmj for linux-riscv@lists.infradead.org; Wed, 13 Nov 2024 15:31:35 +0000 From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1731511889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=njW3e4/sr8AYqkXvzqK+glp62OVtkPOURqkStAgOtjQ=; b=w6rF+o4jQgg041568o9ZMcMLYeSAWwxvBzFLVqxrJTZFZvNTQ+MBzsR6NLfu/Zze/MOaO6 qD6yiKdzJQQROKyN92flHAe/ycJLWzKFjr/uYwGneVMT99pvYajdAUAdUSWGJsH10p56Q1 /VUVg1yqiTiSpnqHOUAlnnUrXDiWVOEIwrKPPuHnULhi/PPMcGYy+IEhrG+T+qzF2CsUlv V7R2M/sSb9MFXgIfXCOFikby7SI2TW57Le75dnPE68zTfYidgRuKyfOt7qxLI8hcBfB2Fu fu4qfF5ylj9naIK57HtJjyHQrBVJABs2SHsBrrx2HCWDgRoYhTTNS2ruhC2eNg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1731511889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=njW3e4/sr8AYqkXvzqK+glp62OVtkPOURqkStAgOtjQ=; b=UVbZIgEQUS/SEuRGDp1iLbyHr4v1jr7KurOynoale65lK8XUgENfNM0rMCmKgSxOTNdMqn JWCayrqphnBvLIAA== To: Chen Wang , Chen Wang , u.kleine-koenig@baylibre.com, aou@eecs.berkeley.edu, arnd@arndb.de, conor+dt@kernel.org, guoren@kernel.org, inochiama@outlook.com, krzk+dt@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, robh@kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, chao.wei@sophgo.com, xiaoguang.xing@sophgo.com, fengchun.li@sophgo.com Subject: Re: [PATCH 2/3] irqchip: Add the Sophgo SG2042 MSI interrupt controller In-Reply-To: References: <8076fe2af9f2b007a42c986ed193ba50ff674bfa.1731296803.git.unicorn_wang@outlook.com> <87cyizmzhf.ffs@tglx> Date: Wed, 13 Nov 2024 16:31:44 +0100 Message-ID: <87v7wrkv4v.ffs@tglx> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241113_073131_901724_580956DA X-CRM114-Status: GOOD ( 12.73 ) 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: , 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 T24gV2VkLCBOb3YgMTMgMjAyNCBhdCAxNDo0MywgQ2hlbiBXYW5nIHdyb3RlOgo+IE9uIDIwMjQv MTEvMTMgMTQ6MTQsIFRob21hcyBHbGVpeG5lciB3cm90ZToKPj4+ICsKPj4+ICsJbWlkZGxlX2Rv bWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2hpZXJhcmNoeShwbGljX2RvbWFpbiwgMCwgcHJpdi0+ bnVtX2lycXMsCj4+PiArCQkJCQkJICAgIGZ3bm9kZSwKPj4+ICsJCQkJCQkgICAgJnBjaF9tc2lf bWlkZGxlX2RvbWFpbl9vcHMsCj4+PiArCQkJCQkJICAgIHByaXYpOwo+PiBTbyBub3cgeW91IGhh dmUgY3JlYXRlZCBhIGRvbWFpbi4gSG93IGlzIHRoYXQgc3VwcG9zZWQgdG8gYmUgdXNlZCBieSB0 aGUKPj4gUENJIGxheWVyPwo+Cj4gSGVyZSBJIGNyZWF0ZSB0aGUgZG9tYWluIGFuZCBhdHRhY2hl ZCBpdCB0byB0aGUgZndub2RlLiBJbiBQQ0kgZHJpdmVyLCAKPiBpdCBjYW4gc2V0IHRoaXMgbXNp IGNvbnRyb2xsZXIgYXMgaXRzICIiaW50ZXJydXB0LXBhcmVudCIgYW5kIGZpbmQgdGhlIAo+IGRv bWFpbiBhdHRhY2hlZCBhcyBiZWxvdzoKPgo+IHN0YXRpYyBpbnQgcGNpZV9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+IHsKPiAgwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmRldiA9 ICZwZGV2LT5kZXY7Cj4gIMKgwqDCoCBwYXJlbnRfbm9kZSA9IG9mX2lycV9maW5kX3BhcmVudChk ZXYtPm9mX25vZGUpOwo+ICDCoMKgwqAgcGFyZW50X2RvbWFpbiA9IGlycV9maW5kX2hvc3QocGFy ZW50X25vZGUpOwo+ICDCoMKgwqAgLi4uCj4gfQoKSSBhc3N1bWUgeW91IHRoZW4gd2FudCB0byBj cmVhdGUgYSBnbG9iYWwgUENJL01TSSBkb21haW4gdmlhCnBjaV9tc2lfY3JlYXRlX2lycV9kb21h aW4oKSwgcmlnaHQ/CgpUaGF0J3Mgbm90IHRoZSBwcmVmZXJyZWQgd2F5IHRvIGRvIHRoYXQuIEFu eSBuZXcgaW1wbGVtZW50YXRpb24gc2hvdWxkCnVzZSB0aGUgTVNJIHBhcmVudCBtb2RlbCwgd2hl cmUgZWFjaCBQQ0kgZGV2aWNlIGNyZWF0ZXMgaXQncyBvd24gcGVyCmRldmljZSBNU0kgZG9tYWlu IHdpdGggdGhlIE1TSSBpbnRlcnJ1cHQgY29udHJvbGxlciBhcyBwYXJlbnQKZG9tYWluLgoKVGhl cmUgaXMgYSBsaWJyYXJ5IHdpdGggaGVscGVyIGZ1bmN0aW9ucywgaXJxLW1zaS1saWIuW2NoXS4g U2VlCmdpY3YybV9hbGxvY2F0ZV9kb21haW5zKCkgb3IgcGNoX21zaV9pbml0X2RvbWFpbnMoKSBm b3IgcmVmZXJlbmNlLgoKVGhhbmtzCgogICAgICAgIHRnbHgKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51 eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76EE714AD2D; Wed, 13 Nov 2024 15:31:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731511893; cv=none; b=A4JGkdJE2EWBF1Smo84ejwqjESpNHAfoAiX9+r7fNb9ecMFbT6KRjaZhaXp0w4CqSvtk3hOD/hQRfBTXsAWLCQ4cHBI8N0huDtqe9xLOWBy3Ay+UvkMKCES+Hq0KAHOGRF/mXin/haAKaq8bfXbBfhkplfNhdABDXItCYx6lUmI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731511893; c=relaxed/simple; bh=5zx+ivpU0X8L7BhqDHs0w8O4ysdQnQxpnwn6xEaMrws=; h=From:To:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=jMaMZvYRUfEkG+pSEcx2zbWd62zd9xUlZ0yoCM4XFgfCnI96KrYxhFlGpIsfFOfsHnSYQr7stpZ1dWQlVr9uX0eyXXEsNBgQHcZI+WWO4ZgMKVX8Rw5S70DP/BYMhDrfAwZUzc2THgPQVaaWKR+03bK8Xr1y4GxlSc9xG76bpz0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=w6rF+o4j; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=UVbZIgEQ; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="w6rF+o4j"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="UVbZIgEQ" From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1731511889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=njW3e4/sr8AYqkXvzqK+glp62OVtkPOURqkStAgOtjQ=; b=w6rF+o4jQgg041568o9ZMcMLYeSAWwxvBzFLVqxrJTZFZvNTQ+MBzsR6NLfu/Zze/MOaO6 qD6yiKdzJQQROKyN92flHAe/ycJLWzKFjr/uYwGneVMT99pvYajdAUAdUSWGJsH10p56Q1 /VUVg1yqiTiSpnqHOUAlnnUrXDiWVOEIwrKPPuHnULhi/PPMcGYy+IEhrG+T+qzF2CsUlv V7R2M/sSb9MFXgIfXCOFikby7SI2TW57Le75dnPE68zTfYidgRuKyfOt7qxLI8hcBfB2Fu fu4qfF5ylj9naIK57HtJjyHQrBVJABs2SHsBrrx2HCWDgRoYhTTNS2ruhC2eNg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1731511889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=njW3e4/sr8AYqkXvzqK+glp62OVtkPOURqkStAgOtjQ=; b=UVbZIgEQUS/SEuRGDp1iLbyHr4v1jr7KurOynoale65lK8XUgENfNM0rMCmKgSxOTNdMqn JWCayrqphnBvLIAA== To: Chen Wang , Chen Wang , u.kleine-koenig@baylibre.com, aou@eecs.berkeley.edu, arnd@arndb.de, conor+dt@kernel.org, guoren@kernel.org, inochiama@outlook.com, krzk+dt@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, robh@kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, chao.wei@sophgo.com, xiaoguang.xing@sophgo.com, fengchun.li@sophgo.com Subject: Re: [PATCH 2/3] irqchip: Add the Sophgo SG2042 MSI interrupt controller In-Reply-To: References: <8076fe2af9f2b007a42c986ed193ba50ff674bfa.1731296803.git.unicorn_wang@outlook.com> <87cyizmzhf.ffs@tglx> Date: Wed, 13 Nov 2024 16:31:44 +0100 Message-ID: <87v7wrkv4v.ffs@tglx> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wed, Nov 13 2024 at 14:43, Chen Wang wrote: > On 2024/11/13 14:14, Thomas Gleixner wrote: >>> + >>> + middle_domain =3D irq_domain_create_hierarchy(plic_domain, 0, priv->n= um_irqs, >>> + fwnode, >>> + &pch_msi_middle_domain_ops, >>> + priv); >> So now you have created a domain. How is that supposed to be used by the >> PCI layer? > > Here I create the domain and attached it to the fwnode. In PCI driver,=20 > it can set this msi controller as its ""interrupt-parent" and find the=20 > domain attached as below: > > static int pcie_probe(struct platform_device *pdev) > { > =C2=A0=C2=A0=C2=A0 struct device *dev =3D &pdev->dev; > =C2=A0=C2=A0=C2=A0 parent_node =3D of_irq_find_parent(dev->of_node); > =C2=A0=C2=A0=C2=A0 parent_domain =3D irq_find_host(parent_node); > =C2=A0=C2=A0=C2=A0 ... > } I assume you then want to create a global PCI/MSI domain via pci_msi_create_irq_domain(), right? That's not the preferred way to do that. Any new implementation should use the MSI parent model, where each PCI device creates it's own per device MSI domain with the MSI interrupt controller as parent domain. There is a library with helper functions, irq-msi-lib.[ch]. See gicv2m_allocate_domains() or pch_msi_init_domains() for reference. Thanks tglx