From: Frank Li <Frank.li@oss.nxp.com>
To: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Cc: Thomas Gleixner <tglx@kernel.org>,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
Ioana Ciornei <ioana.ciornei@nxp.com>
Subject: Re: [PATCH RFC 0/2] irqchip/ls-scfg-msi: add multi-MSI support
Date: Thu, 20 Aug 2026 12:09:03 -0400 [thread overview]
Message-ID: <aocmn8mkac5O3OMq@lizhi-Precision-Tower-5810> (raw)
In-Reply-To: <20260716-irqchip-ls-scfg-msi-add-multi-msi-support-v1-0-9795356d0ebc@westermo.com>
On Thu, Jul 16, 2026 at 12:14:59PM +0200, Alexander Wilhelm wrote:
> This series enables multi-MSI (nr_irqs > 1) allocation on the Layerscape
> SCFG MSI controller so PCI endpoints that request contiguous MSI vector
> blocks (for example ath12k, which asks for 16 vectors: 3 MHI + 5 CE + 8 DP)
> no longer fall back to single-MSI operation with all interrupts multiplexed
> onto one CPU.
>
> The first patch is a preparation refactor: switch the hwirq bookkeeping
> from find_first_zero_bit() / __set_bit() to bitmap_find_free_region() /
> bitmap_release_region(), release the region on iommu_dma_prepare_msi()
> error, and loop irq_domain_set_info() over nr_irqs. For the current
> single-MSI case (order 0) this is functionally equivalent; the only
> externally visible change is -ENOMEM instead of -ENOSPC on exhaustion.
>
> The second patch enables MSI_FLAG_MULTI_PCI_MSI on the parent domain, drops
> the WARN_ON(nr_irqs != 1) guard, and statically pins each MSIR's chained
> parent IRQ to its matching CPU in no-affinity mode. That pinning is
> required because affinity mode only releases every (1 << ibs_shift)-th
> hwirq and cannot satisfy aligned power-of-two allocations of size > 1;
> users of multi-MSI must therefore boot with lsmsi=no-affinity.
what's happen if not set "lsmsi=no-affinity" at boot?
Please add imx@lists.linux.dev
Add Ioana Ciornei, who have more layerscape knowledge.
Frank
>
> Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
> ---
> Alexander Wilhelm (2):
> irqchip/ls-scfg-msi: refactor allocation to bitmap_find_free_region()
> irqchip/ls-scfg-msi: enable multi-MSI allocation
>
> drivers/irqchip/irq-ls-scfg-msi.c | 45 +++++++++++++++++++++++----------------
> 1 file changed, 27 insertions(+), 18 deletions(-)
> ---
> base-commit: 37e2f878a7a660a216cc7a60459995fefd150f25
> change-id: 20260716-irqchip-ls-scfg-msi-add-multi-msi-support-5e7538460704
>
> Best regards,
> --
> Alexander Wilhelm <alexander.wilhelm@westermo.com>
>
next parent reply other threads:[~2026-08-20 16:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260716-irqchip-ls-scfg-msi-add-multi-msi-support-v1-0-9795356d0ebc@westermo.com>
2026-08-20 16:09 ` Frank Li [this message]
2026-08-31 7:35 ` [PATCH RFC 0/2] irqchip/ls-scfg-msi: add multi-MSI support Alexander Wilhelm
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=aocmn8mkac5O3OMq@lizhi-Precision-Tower-5810 \
--to=frank.li@oss.nxp.com \
--cc=alexander.wilhelm@westermo.com \
--cc=imx@lists.linux.dev \
--cc=ioana.ciornei@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@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