From: Marc Zyngier <maz@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas <helgaas@kernel.org>
Cc: Sunil V L <sunilvl@ventanamicro.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org,
linux-serial@vger.kernel.org,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Len Brown <lenb@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>,
Anup Patel <anup@brainfault.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
Conor Dooley <conor.dooley@microchip.com>,
Andrew Jones <ajones@ventanamicro.com>,
Atish Kumar Patra <atishp@rivosinc.com>,
Haibo Xu <haibo1.xu@intel.com>
Subject: Re: [RFC PATCH v2 13/21] irqchip: riscv-intc: Add ACPI support for AIA
Date: Mon, 06 Nov 2023 11:35:27 +0000 [thread overview]
Message-ID: <86fs1j15ds.wl-maz@kernel.org> (raw)
In-Reply-To: <87jzr82c3h.ffs@tglx>
On Fri, 27 Oct 2023 18:45:38 +0100,
Thomas Gleixner <tglx@linutronix.de> wrote:
>
> On Thu, Oct 26 2023 at 11:51, Bjorn Helgaas wrote:
> > On Thu, Oct 26, 2023 at 01:53:36AM +0530, Sunil V L wrote:
> >> The RINTC subtype structure in MADT also has information about other
> >> interrupt controllers like MMIO. So, save those information and provide
> >> interfaces to retrieve them when required by corresponding drivers.
> >
> >> @@ -218,7 +306,19 @@ static int __init riscv_intc_acpi_init(union acpi_subtable_headers *header,
> >
> >> + * MSI controller (IMSIC) in RISC-V is optional. So, unless
> >> + * IMSIC is discovered, set system wide MSI support as
> >> + * unsupported. Once IMSIC is probed, MSI support will be set.
> >> + */
> >> + pci_no_msi();
> >
> > It doesn't seem like we should have to tell the PCI core about
> > functionality we *don't* have.
> >
> > I would think IMSIC would be detected before enumerating PCI devices
> > that might use it, and if we *haven't* found an IMSIC by the time we
> > get to pci_register_host_bridge(), would/should we set
> > PCI_BUS_FLAGS_NO_MSI there?
> >
> > I see Thomas is cc'd; he'd have better insight.
>
> I was not really involved with this bus and MSI domain logic. Marc
> should know. CC'ed.
The canonical way of doing this is by the platform expressing that
there is no linkage between the PCIe RC and the MSI controller. If
there is no MSI domain associated with the RC, then by extension the
endpoints don't get one either.
There are additional quirks linked to the msi_domain host bridge
property, allowing the host bridge driver to indicate that it isn't in
charge of MSIs, but that a third party may provide it (in which case a
MSI irq domain will be associated with it).
In any case, slapping a pci_no_msi() call in an irqchip driver is
gross and most probably a sign that this is going in the wrong
direction, specially as this is platform-wide.
The only cases I'd expect this function to be called are:
- Platform or firmware explicitly disallowing MSIs
- pci=nomsi on the command line
none of which are the business of an irqchip driver.
HTH,
M.
--
Without deviation from the norm, progress is not possible.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-11-06 11:36 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-25 20:23 [RFC PATCH v2 00/21] RISC-V: ACPI: Add external interrupt controller support Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 01/21] arm64: PCI: Migrate ACPI related functions to pci-acpi.c Sunil V L
2023-10-26 16:31 ` Catalin Marinas
2023-10-25 20:23 ` [RFC PATCH v2 02/21] RISC-V: ACPI: Implement PCI related functionality Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 03/21] ACPI: Kconfig: Introduce new option to support deferred GSI probe Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 04/21] ACPI: irq: Add support for deferred probe in acpi_register_gsi() Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 05/21] pnp.h: Return -EPROBE_DEFER for disabled IRQ resource in pnp_irq() Sunil V L
2024-02-01 18:00 ` Rafael J. Wysocki
2024-02-02 8:48 ` Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 06/21] RISC-V: Kconfig: Select deferred GSI probe for ACPI systems Sunil V L
2023-10-26 17:04 ` Bjorn Helgaas
2023-10-25 20:23 ` [RFC PATCH v2 07/21] serial: 8250_pnp: Add support for deferred probe Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 08/21] ACPI: pci_irq: Avoid warning for deferred probe in acpi_pci_irq_enable() Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 09/21] ACPI: scan.c: Add weak arch specific function to reorder the IRQCHIP probe Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 10/21] ACPI: RISC-V: Implement arch function to reorder irqchip probe entries Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 11/21] PCI: MSI: Add helper function to set system wide MSI support Sunil V L
2023-10-30 14:28 ` Thomas Gleixner
2023-10-30 17:54 ` Sunil V L
2023-10-30 19:29 ` Thomas Gleixner
2023-10-31 2:00 ` Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 12/21] PCI: pci-acpi.c: Return correct value from pcibios_alloc_irq() Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 13/21] irqchip: riscv-intc: Add ACPI support for AIA Sunil V L
2023-10-26 16:51 ` Bjorn Helgaas
2023-10-27 11:29 ` Sunil V L
2023-10-27 11:54 ` Sunil V L
2023-10-27 17:45 ` Thomas Gleixner
2023-11-06 11:35 ` Marc Zyngier [this message]
2023-10-25 20:23 ` [RFC PATCH v2 14/21] irqchip: riscv-imsic: Add ACPI support Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 15/21] irqchip: riscv-aplic: " Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 16/21] irqchip: irq-sifive-plic: " Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 17/21] ACPI: bus: Add RINTC IRQ model for RISC-V Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 18/21] irqchip: riscv-intc: Set ACPI irqmodel Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 19/21] ACPI: bus: Add acpi_riscv_init function Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 20/21] ACPI: RISC-V: Create APLIC platform device Sunil V L
2023-10-25 20:23 ` [RFC PATCH v2 21/21] ACPI: RISC-V: Create PLIC " Sunil V L
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86fs1j15ds.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=ajones@ventanamicro.com \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=atishp@rivosinc.com \
--cc=bhelgaas@google.com \
--cc=catalin.marinas@arm.com \
--cc=conor.dooley@microchip.com \
--cc=gregkh@linuxfoundation.org \
--cc=haibo1.xu@intel.com \
--cc=helgaas@kernel.org \
--cc=jirislaby@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=rafael@kernel.org \
--cc=sunilvl@ventanamicro.com \
--cc=tglx@linutronix.de \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).