irqchip/qcom-mpm: Support passing a slice of SRAM as reg space
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Mon, 27 Nov 2023 15:52:13 +0000 (16:52 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 12 Dec 2023 14:40:42 +0000 (15:40 +0100)
commit221b110d87c2d3ea113ad784b2c6505726a3e157
treee554fdbd265bc1ed84851cedcb1217bc059eea66
parentca596295f4c9ec803d3379635ad175897993f121
irqchip/qcom-mpm: Support passing a slice of SRAM as reg space

The MPM hardware is accessible from the ARM CPUs through a shared memory
region (RPM MSG RAM) which is also concurrently accessed by other kinds of
cores on the system like modem, ADSP etc.

Modeling this relation in a (somewhat) sane manner in the device tree
requires to

  - either present the MPM as a child of said memory region, which
    makes little sense, as a mapped memory carveout is not a bus.

  - define nodes which bleed their register spaces into one another

  - or passing their slice of the MSG RAM through a property

Go with the third option and add a way to map a region passed through the
"qcom,rpm-msg-ram" property as register space for the MPM interrupt
controller.

The current way of using 'reg' is preserved for backwards compatibility
reasons.

[ tglx: Massaged changelog ]

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Link: https://lore.kernel.org/r/20230328-topic-msgram_mpm-v7-2-6ee2bfeaac2c@linaro.org
drivers/irqchip/irq-qcom-mpm.c