Re: [PATCH] of/irq: Fix msi-map calculation for nonzero rid-base

From: Mark Rutland
Date: Tue Feb 09 2016 - 13:20:29 EST


On Tue, Feb 09, 2016 at 04:17:33PM +0000, Robin Murphy wrote:
> On 09/02/16 16:08, Mark Rutland wrote:
> [...]
>
> >>>>having msi-map-mask clash with a nonzero rid-base, as that's another
> >>>>thing one can easily get wrong.
>
> [...]
>
> >>>>+ if (rid_base & ~map_mask) {
> >>>>+ dev_err(parent_dev,
> >>>>+ "Invalid msi-map translation - msi-map-mask (0x%x) ignores rid-
> >>>base (0x%x)\n",
> >>>>+ map_mask, rid_base);
> >>>>+ return rid_out;
> >>>>+ }
>
> [...]
>
> >> msi-map = <0x0100 &its 0x11 0x1>;
> >> msi-map-mask = <0xff>;
> >>
> >
> >I'd say that this is an inconsistent set of properties, and it's
> >probably worth warning if we encounter this. There is no possible way
> >that rid-base can be encountered.
>
> Indeed ;)

Ah!

FWIW:

Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Though it would be nice if we could fail the translation entirely rather
than just logging an error and idmapping the rid.

Thanks,
Mark.