[PATCH 0/6] fsl-mc: Move fsl_over to device MSI

Marc Zyngier posted 6 patches 1 month, 1 week ago
drivers/base/platform-msi.c                 |   4 -
drivers/bus/fsl-mc/dprc-driver.c            |  14 +-
drivers/bus/fsl-mc/fsl-mc-bus.c             |   4 +-
drivers/bus/fsl-mc/fsl-mc-msi.c             | 142 +++--------------
drivers/bus/fsl-mc/fsl-mc-private.h         |   2 +-
drivers/irqchip/Kconfig                     |   6 -
drivers/irqchip/Makefile                    |   1 -
drivers/irqchip/irq-gic-its-msi-parent.c    |   7 +-
drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 168 --------------------
include/linux/fsl/mc.h                      |   6 +-
10 files changed, 33 insertions(+), 321 deletions(-)
delete mode 100644 drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c
[PATCH 0/6] fsl-mc: Move fsl_over to device MSI
Posted by Marc Zyngier 1 month, 1 week ago
Over the past few years, I have become increasingly annoyed by this
sort of messages in my boot log:

[    0.067861] fsl-mc MSI: ITS@0x100100040000 domain created
[    0.073352] fsl-mc MSI: ITS@0x100100060000 domain created
[    0.078841] fsl-mc MSI: ITS@0x100100080000 domain created
[    0.084328] fsl-mc MSI: ITS@0x1001000a0000 domain created
[    0.089815] fsl-mc MSI: ITS@0x1001000c0000 domain created
[    0.095303] fsl-mc MSI: ITS@0x1001000e0000 domain created
[    0.100792] fsl-mc MSI: ITS@0x100100100000 domain created
[    0.106281] fsl-mc MSI: ITS@0x100100120000 domain created

While this is useful on fsl-mc systems, this is completely irrelevant
on 99.99999% of the arm64 machines, which know nothing about the
Freescale stuff. Including all of my machine -- bar *one*.

Global MSI domains such as the above have been obsoleted for the past
two years, but nobody at NXP seems to have got the message.

The obvious solution is to delete some code! While my first port of
call would be to just 'git rm -r drivers/bus/fsl-mc' (only kidding!),
a less invasive solution is to drag that code into the present times.
Which is what this series is doing by converting the whole thing to
device MSI, reusing the platform MSI infrastructure instead of
duplicating it.

This results in the expected cleanup, and kills the last user of the
non-device-MSI stuff on arm64. You're welcome.

Marc Zyngier (6):
  fsl-mc: Remove MSI domain propagation to sub-devices
  fsl_mc: Add minimal infrastructure to use platform MSI
  irqchip/gic-v3-its: Add fsl_mc device plumbing to the msi-parent
    handling
  fsl_mc: Switch over to per-device platform MSI
  fsl_mc: Remove legacy MSI implementation
  platform-msi: Remove stale comment

 drivers/base/platform-msi.c                 |   4 -
 drivers/bus/fsl-mc/dprc-driver.c            |  14 +-
 drivers/bus/fsl-mc/fsl-mc-bus.c             |   4 +-
 drivers/bus/fsl-mc/fsl-mc-msi.c             | 142 +++--------------
 drivers/bus/fsl-mc/fsl-mc-private.h         |   2 +-
 drivers/irqchip/Kconfig                     |   6 -
 drivers/irqchip/Makefile                    |   1 -
 drivers/irqchip/irq-gic-its-msi-parent.c    |   7 +-
 drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 168 --------------------
 include/linux/fsl/mc.h                      |   6 +-
 10 files changed, 33 insertions(+), 321 deletions(-)
 delete mode 100644 drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c

-- 
2.47.3
Re: [PATCH 0/6] fsl-mc: Move fsl_over to device MSI
Posted by Ioana Ciornei 1 month, 1 week ago
On Wed, Feb 18, 2026 at 01:51:57PM +0000, Marc Zyngier wrote:
> Over the past few years, I have become increasingly annoyed by this
> sort of messages in my boot log:
> 
> [    0.067861] fsl-mc MSI: ITS@0x100100040000 domain created
> [    0.073352] fsl-mc MSI: ITS@0x100100060000 domain created
> [    0.078841] fsl-mc MSI: ITS@0x100100080000 domain created
> [    0.084328] fsl-mc MSI: ITS@0x1001000a0000 domain created
> [    0.089815] fsl-mc MSI: ITS@0x1001000c0000 domain created
> [    0.095303] fsl-mc MSI: ITS@0x1001000e0000 domain created
> [    0.100792] fsl-mc MSI: ITS@0x100100100000 domain created
> [    0.106281] fsl-mc MSI: ITS@0x100100120000 domain created
> 
> While this is useful on fsl-mc systems, this is completely irrelevant
> on 99.99999% of the arm64 machines, which know nothing about the
> Freescale stuff. Including all of my machine -- bar *one*.
> 
> Global MSI domains such as the above have been obsoleted for the past
> two years, but nobody at NXP seems to have got the message.

I do admit that I wasn't aware that this neeeded work. In the future,
please let me know of this kind of things and I will do the work.

> 
> The obvious solution is to delete some code! While my first port of
> call would be to just 'git rm -r drivers/bus/fsl-mc' (only kidding!),
> a less invasive solution is to drag that code into the present times.
> Which is what this series is doing by converting the whole thing to
> device MSI, reusing the platform MSI infrastructure instead of
> duplicating it.
> 
> This results in the expected cleanup, and kills the last user of the
> non-device-MSI stuff on arm64. You're welcome.

Thanks!

Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> # LX2160ARDB, LS2088ARDB
Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Re: [PATCH 0/6] fsl-mc: Move fsl_over to device MSI
Posted by Marc Zyngier 1 month, 1 week ago
On Fri, 20 Feb 2026 15:41:03 +0000,
Ioana Ciornei <ioana.ciornei@nxp.com> wrote:
> 
> On Wed, Feb 18, 2026 at 01:51:57PM +0000, Marc Zyngier wrote:
> > Over the past few years, I have become increasingly annoyed by this
> > sort of messages in my boot log:
> > 
> > [    0.067861] fsl-mc MSI: ITS@0x100100040000 domain created
> > [    0.073352] fsl-mc MSI: ITS@0x100100060000 domain created
> > [    0.078841] fsl-mc MSI: ITS@0x100100080000 domain created
> > [    0.084328] fsl-mc MSI: ITS@0x1001000a0000 domain created
> > [    0.089815] fsl-mc MSI: ITS@0x1001000c0000 domain created
> > [    0.095303] fsl-mc MSI: ITS@0x1001000e0000 domain created
> > [    0.100792] fsl-mc MSI: ITS@0x100100100000 domain created
> > [    0.106281] fsl-mc MSI: ITS@0x100100120000 domain created
> > 
> > While this is useful on fsl-mc systems, this is completely irrelevant
> > on 99.99999% of the arm64 machines, which know nothing about the
> > Freescale stuff. Including all of my machine -- bar *one*.
> > 
> > Global MSI domains such as the above have been obsoleted for the past
> > two years, but nobody at NXP seems to have got the message.
> 
> I do admit that I wasn't aware that this neeeded work. In the future,
> please let me know of this kind of things and I will do the work.

I guess Thomas did too good a job not breaking fsl-mc when both PCI
and platform MSIs were rewritten, hence you missing on the good stuff!

> 
> > 
> > The obvious solution is to delete some code! While my first port of
> > call would be to just 'git rm -r drivers/bus/fsl-mc' (only kidding!),
> > a less invasive solution is to drag that code into the present times.
> > Which is what this series is doing by converting the whole thing to
> > device MSI, reusing the platform MSI infrastructure instead of
> > duplicating it.
> > 
> > This results in the expected cleanup, and kills the last user of the
> > non-device-MSI stuff on arm64. You're welcome.
> 
> Thanks!
> 
> Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> # LX2160ARDB, LS2088ARDB
> Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>

Thanks for giving it a go.

	M.

-- 
Without deviation from the norm, progress is not possible.
Re: [PATCH 0/6] fsl-mc: Move fsl_over to device MSI
Posted by Christophe Leroy (CS GROUP) 1 month, 1 week ago
Hi Marc,

Le 23/02/2026 à 14:37, Marc Zyngier a écrit :
> On Fri, 20 Feb 2026 15:41:03 +0000,
> Ioana Ciornei <ioana.ciornei@nxp.com> wrote:
>>
>> On Wed, Feb 18, 2026 at 01:51:57PM +0000, Marc Zyngier wrote:
>>> Over the past few years, I have become increasingly annoyed by this
>>> sort of messages in my boot log:
>>>
>>> [    0.067861] fsl-mc MSI: ITS@0x100100040000 domain created
>>> [    0.073352] fsl-mc MSI: ITS@0x100100060000 domain created
>>> [    0.078841] fsl-mc MSI: ITS@0x100100080000 domain created
>>> [    0.084328] fsl-mc MSI: ITS@0x1001000a0000 domain created
>>> [    0.089815] fsl-mc MSI: ITS@0x1001000c0000 domain created
>>> [    0.095303] fsl-mc MSI: ITS@0x1001000e0000 domain created
>>> [    0.100792] fsl-mc MSI: ITS@0x100100100000 domain created
>>> [    0.106281] fsl-mc MSI: ITS@0x100100120000 domain created
>>>
>>> While this is useful on fsl-mc systems, this is completely irrelevant
>>> on 99.99999% of the arm64 machines, which know nothing about the
>>> Freescale stuff. Including all of my machine -- bar *one*.
>>>
>>> Global MSI domains such as the above have been obsoleted for the past
>>> two years, but nobody at NXP seems to have got the message.
>>
>> I do admit that I wasn't aware that this neeeded work. In the future,
>> please let me know of this kind of things and I will do the work.
> 
> I guess Thomas did too good a job not breaking fsl-mc when both PCI
> and platform MSIs were rewritten, hence you missing on the good stuff!
> 
>>
>>>
>>> The obvious solution is to delete some code! While my first port of
>>> call would be to just 'git rm -r drivers/bus/fsl-mc' (only kidding!),
>>> a less invasive solution is to drag that code into the present times.
>>> Which is what this series is doing by converting the whole thing to
>>> device MSI, reusing the platform MSI infrastructure instead of
>>> duplicating it.
>>>
>>> This results in the expected cleanup, and kills the last user of the
>>> non-device-MSI stuff on arm64. You're welcome.
>>
>> Thanks!
>>
>> Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> # LX2160ARDB, LS2088ARDB
>> Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
> 
> Thanks for giving it a go.

Don't know what is your merge plan. I wanted to push it to soc fsl tree 
but it doesn't apply on top of v7.0-rc1:

$ LANG= b4 shazam -l 20260218135203.2267907-1-maz@kernel.org
Grabbing thread from 
lore.kernel.org/all/20260218135203.2267907-1-maz@kernel.org/t.mbox.gz
Checking for newer revisions
Grabbing search results from lore.kernel.org
Analyzing 14 messages in the thread
Analyzing 0 code-review messages
Checking attestation on all messages, may take a moment...
---
   ✓ [PATCH 1/6] fsl-mc: Remove MSI domain propagation to sub-devices
     + Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Tested-by: Sascha Bischoff <sascha.bischoff@arm.com> (✓ DKIM/arm.com)
     + Link: 
https://lore.kernel.org/r/20260218135203.2267907-2-maz@kernel.org
   ✓ [PATCH 2/6] fsl_mc: Add minimal infrastructure to use platform MSI
     + Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Tested-by: Sascha Bischoff <sascha.bischoff@arm.com> (✓ DKIM/arm.com)
     + Link: 
https://lore.kernel.org/r/20260218135203.2267907-3-maz@kernel.org
   ✓ [PATCH 3/6] irqchip/gic-v3-its: Add fsl_mc device plumbing to the 
msi-parent handling
     + Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Tested-by: Sascha Bischoff <sascha.bischoff@arm.com> (✓ DKIM/arm.com)
     + Link: 
https://lore.kernel.org/r/20260218135203.2267907-4-maz@kernel.org
   ✓ [PATCH 4/6] fsl_mc: Switch over to per-device platform MSI
     + Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Tested-by: Sascha Bischoff <sascha.bischoff@arm.com> (✓ DKIM/arm.com)
     + Link: 
https://lore.kernel.org/r/20260218135203.2267907-5-maz@kernel.org
   ✓ [PATCH 5/6] fsl_mc: Remove legacy MSI implementation
     + Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Tested-by: Sascha Bischoff <sascha.bischoff@arm.com> (✓ DKIM/arm.com)
     + Link: 
https://lore.kernel.org/r/20260218135203.2267907-6-maz@kernel.org
   ✓ [PATCH 6/6] platform-msi: Remove stale comment
     + Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> (✓ DKIM/nxp.com)
     + Tested-by: Sascha Bischoff <sascha.bischoff@arm.com> (✓ DKIM/arm.com)
     + Link: 
https://lore.kernel.org/r/20260218135203.2267907-7-maz@kernel.org
   ---
   ✓ Signed: DKIM/kernel.org
---
Total patches: 6
---
Applying: fsl-mc: Remove MSI domain propagation to sub-devices
Applying: fsl_mc: Add minimal infrastructure to use platform MSI
Applying: irqchip/gic-v3-its: Add fsl_mc device plumbing to the 
msi-parent handling
Patch failed at 0003 irqchip/gic-v3-its: Add fsl_mc device plumbing to 
the msi-parent handling
error: patch failed: drivers/irqchip/irq-gic-its-msi-parent.c:186
error: drivers/irqchip/irq-gic-its-msi-parent.c: patch does not apply
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am 
--abort".
hint: Disable this message with "git config set advice.mergeConflict false"


Let me know how you want to proceed.

Thanks
Christophe
Re: [PATCH 0/6] fsl-mc: Move fsl_over to device MSI
Posted by Marc Zyngier 1 month, 1 week ago
Hi Christophe,

On Mon, 23 Feb 2026 13:54:10 +0000,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org> wrote:
> 
> Don't know what is your merge plan. I wanted to push it to soc fsl
> tree but it doesn't apply on top of v7.0-rc1:

Not completely unexpected, as -rc1 wasn't released when I posted this,
hence being based on the latest tag from Linus' tree at the point of
posting (v6.19 in this case).

[...]

> Let me know how you want to proceed.

I've since reposted the series at [1], based on -rc1, and Thomas has
indicated he was OK with you merging it directly -- works for me.

Thanks,

	M.

[1] https://lore.kernel.org/r/20260224100936.3752303-1-maz@kernel.org

-- 
Without deviation from the norm, progress is not possible.
Re: [PATCH 0/6] fsl-mc: Move fsl_over to device MSI
Posted by Thomas Gleixner 1 month, 1 week ago
On Mon, Feb 23 2026 at 14:54, Christophe Leroy (CS GROUP) wrote:
> Le 23/02/2026 à 14:37, Marc Zyngier a écrit :
>> Thanks for giving it a go.
>
> Don't know what is your merge plan. I wanted to push it to soc fsl tree 
> but it doesn't apply on top of v7.0-rc1:

We already established that. Marc will resend and yes, feel free to take
it through the FSL SoC tree.
Re: [PATCH 0/6] fsl-mc: Move fsl_over to device MSI
Posted by Sascha Bischoff 1 month, 1 week ago
On Wed, 2026-02-18 at 13:51 +0000, Marc Zyngier wrote:
> Over the past few years, I have become increasingly annoyed by this
> sort of messages in my boot log:
> 
> [    0.067861] fsl-mc MSI: ITS@0x100100040000 domain created
> [    0.073352] fsl-mc MSI: ITS@0x100100060000 domain created
> [    0.078841] fsl-mc MSI: ITS@0x100100080000 domain created
> [    0.084328] fsl-mc MSI: ITS@0x1001000a0000 domain created
> [    0.089815] fsl-mc MSI: ITS@0x1001000c0000 domain created
> [    0.095303] fsl-mc MSI: ITS@0x1001000e0000 domain created
> [    0.100792] fsl-mc MSI: ITS@0x100100100000 domain created
> [    0.106281] fsl-mc MSI: ITS@0x100100120000 domain created
> 
> While this is useful on fsl-mc systems, this is completely irrelevant
> on 99.99999% of the arm64 machines, which know nothing about the
> Freescale stuff. Including all of my machine -- bar *one*.
> 
> Global MSI domains such as the above have been obsoleted for the past
> two years, but nobody at NXP seems to have got the message.
> 
> The obvious solution is to delete some code! While my first port of
> call would be to just 'git rm -r drivers/bus/fsl-mc' (only kidding!),
> a less invasive solution is to drag that code into the present times.
> Which is what this series is doing by converting the whole thing to
> device MSI, reusing the platform MSI infrastructure instead of
> duplicating it.
> 
> This results in the expected cleanup, and kills the last user of the
> non-device-MSI stuff on arm64. You're welcome.
> 
> Marc Zyngier (6):
>   fsl-mc: Remove MSI domain propagation to sub-devices
>   fsl_mc: Add minimal infrastructure to use platform MSI
>   irqchip/gic-v3-its: Add fsl_mc device plumbing to the msi-parent
>     handling
>   fsl_mc: Switch over to per-device platform MSI
>   fsl_mc: Remove legacy MSI implementation
>   platform-msi: Remove stale comment
> 
>  drivers/base/platform-msi.c                 |   4 -
>  drivers/bus/fsl-mc/dprc-driver.c            |  14 +-
>  drivers/bus/fsl-mc/fsl-mc-bus.c             |   4 +-
>  drivers/bus/fsl-mc/fsl-mc-msi.c             | 142 +++--------------
>  drivers/bus/fsl-mc/fsl-mc-private.h         |   2 +-
>  drivers/irqchip/Kconfig                     |   6 -
>  drivers/irqchip/Makefile                    |   1 -
>  drivers/irqchip/irq-gic-its-msi-parent.c    |   7 +-
>  drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 168 ------------------
> --
>  include/linux/fsl/mc.h                      |   6 +-
>  10 files changed, 33 insertions(+), 321 deletions(-)
>  delete mode 100644 drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c
> 

I have tested this series (applied to 6.19) with a SolidRun ClearFog CX
LX2 (LX2160A-based), and can confirm that the MSIs are working as I'd
expect them to. Therefore:

Tested-by: Sascha Bischoff <sascha.bischoff@arm.com>

Thanks,
Sascha