of/irq: Fix msi-map calculation for nonzero rid-base
The existing msi-map code is fine for shifting the entire RID space upwards, but attempting finer-grained remapping reveals a bug. It turns out that we are mistakenly treating the msi-base part as an offset, not as a new base to remap onto, so things get squiffy when rid-base is nonzero. Fix this, and at the same time add a sanity check against having msi-map-mask clash with a nonzero rid-base, as that's another thing one can easily get wrong. CC: <stable@vger.kernel.org> Signed-off-by: NRobin Murphy <robin.murphy@arm.com> Reviewed-by: NMarc Zyngier <marc.zyngier@arm.com> Tested-by: NStuart Yoder <stuart.yoder@nxp.com> Acked-by: NMark Rutland <mark.rutland@arm.com> Acked-by: NDavid Daney <david.daney@cavium.com> Signed-off-by: NRob Herring <robh@kernel.org>
Showing
想要评论请 注册 或 登录