From: "Björn Töpel" <bjorn@kernel.org>
To: Anup Patel <apatel@ventanamicro.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Thomas Gleixner <tglx@linutronix.de>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Frank Rowand <frowand.list@gmail.com>,
Conor Dooley <conor+dt@kernel.org>,
devicetree@vger.kernel.org,
Saravana Kannan <saravanak@google.com>,
Marc Zyngier <maz@kernel.org>, Anup Patel <anup@brainfault.org>,
linux-kernel@vger.kernel.org, Atish Patra <atishp@atishpatra.org>,
linux-riscv@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
Andrew Jones <ajones@ventanamicro.com>
Subject: Re: [PATCH v15 08/10] irqchip/riscv-aplic: Add support for MSI-mode
Date: Thu, 07 Mar 2024 16:01:09 +0100 [thread overview]
Message-ID: <871q8mdr2i.fsf@all.your.base.are.belong.to.us> (raw)
In-Reply-To: <CAK9=C2Ud+CJzWfY0Lp97OMt9QvJBFX=hHJidn_90XY5cEB9LHw@mail.gmail.com>
Anup Patel <apatel@ventanamicro.com> writes:
> On Wed, Mar 6, 2024 at 9:22 PM Björn Töpel <bjorn@kernel.org> wrote:
>>
>> Anup Patel <apatel@ventanamicro.com> writes:
>>
>> > diff --git a/drivers/irqchip/irq-riscv-aplic-msi.c b/drivers/irqchip/irq-riscv-aplic-msi.c
>> > new file mode 100644
>> > index 000000000000..b2a25e011bb2
>> > --- /dev/null
>> > +++ b/drivers/irqchip/irq-riscv-aplic-msi.c
>> > +static void aplic_msi_write_msg(struct irq_data *d, struct msi_msg *msg)
>> > +{
>> > + unsigned int group_index, hart_index, guest_index, val;
>> > + struct aplic_priv *priv = irq_data_get_irq_chip_data(d);
>> > + struct aplic_msicfg *mc = &priv->msicfg;
>> > + phys_addr_t tppn, tbppn, msg_addr;
>> > + void __iomem *target;
>> > +
>> > + /* For zeroed MSI, simply write zero into the target register */
>> > + if (!msg->address_hi && !msg->address_lo && !msg->data) {
>> > + target = priv->regs + APLIC_TARGET_BASE;
>> > + target += (d->hwirq - 1) * sizeof(u32);
>> > + writel(0, target);
>>
>> Is the fence needed here (writel_relaxed())...
>
> The pci_write_msg_msix() (called via pci_msi_domain_write_msg())
> uses writel() hence taking inspiration from that we use writel() over here
> as well.
>
> If that's wrong then pci_write_msg_msix() must be fixed as well.
Huh? The writel()s in pci_write_msg_msix() are because there's an
ordering constraint, and code would be broken w/o it. My question was
"what are the ordering constraints for this piece of code", because it
looks like this is a single I/O write without any ordering constraints.
I'm not a fan of sprinkling fences around "to be safe", but I don't want
to delay the v16 because of it. It can be fixed later, if it's not
needed.
Cheers, and thanks for your hard work!
Björn
next prev parent reply other threads:[~2024-03-07 15:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-26 4:07 [PATCH v15 00/10] Linux RISC-V AIA Support Anup Patel
2024-02-26 4:07 ` [PATCH v15 01/10] irqchip/riscv-intc: Fix low-level interrupt handler setup for AIA Anup Patel
2024-02-26 14:21 ` [tip: irq/msi] " tip-bot2 for Anup Patel
2024-02-27 21:18 ` tip-bot2 for Anup Patel
2024-02-26 4:07 ` [PATCH v15 02/10] dt-bindings: interrupt-controller: Add RISC-V incoming MSI controller Anup Patel
2024-02-26 4:07 ` [PATCH v15 03/10] irqchip: Add RISC-V incoming MSI controller early driver Anup Patel
2024-02-26 4:07 ` [PATCH v15 04/10] irqchip/riscv-imsic: Add device MSI domain support for platform devices Anup Patel
2024-02-26 4:07 ` [PATCH v15 05/10] irqchip/riscv-imsic: Add device MSI domain support for PCI devices Anup Patel
2024-02-26 4:07 ` [PATCH v15 06/10] dt-bindings: interrupt-controller: Add RISC-V advanced PLIC Anup Patel
2024-02-26 4:07 ` [PATCH v15 07/10] irqchip: Add RISC-V advanced PLIC driver for direct-mode Anup Patel
2024-02-26 4:07 ` [PATCH v15 08/10] irqchip/riscv-aplic: Add support for MSI-mode Anup Patel
2024-03-06 5:43 ` Samuel Holland
2024-03-06 6:52 ` Anup Patel
2024-03-06 15:51 ` Björn Töpel
2024-03-06 16:14 ` Anup Patel
2024-03-07 15:01 ` Björn Töpel [this message]
2024-03-07 15:25 ` Anup Patel
2024-02-26 4:07 ` [PATCH v15 09/10] RISC-V: Select APLIC and IMSIC drivers Anup Patel
2024-02-26 4:07 ` [PATCH v15 10/10] MAINTAINERS: Add entry for RISC-V AIA drivers Anup Patel
2024-02-26 4:14 ` [PATCH v15 00/10] Linux RISC-V AIA Support Anup Patel
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=871q8mdr2i.fsf@all.your.base.are.belong.to.us \
--to=bjorn@kernel.org \
--cc=ajones@ventanamicro.com \
--cc=anup@brainfault.org \
--cc=apatel@ventanamicro.com \
--cc=atishp@atishpatra.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=frowand.list@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=maz@kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=robh+dt@kernel.org \
--cc=saravanak@google.com \
--cc=tglx@linutronix.de \
/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
all inboxes | Powered by JetHome®