Re: [PATCH 2/2] arm64: io: Hook up __io_par() for inX() ordering

From: Will Deacon
Date: Wed Feb 13 2019 - 12:25:38 EST


On Tue, Feb 12, 2019 at 11:42:44AM +0100, Geert Uytterhoeven wrote:
> On Mon, Feb 11, 2019 at 9:34 PM Will Deacon <will.deacon@xxxxxxx> wrote:
> > Ensure that inX() provides the same ordering guarantees as readX()
> > by hooking up __io_par() so that it maps directly to __iormb().
> >
> > Reported-by: Andrew Murray <andrew.murray@xxxxxxx>
> > Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
>
> Thanks for your patch!
>
> > --- a/arch/arm64/include/asm/io.h
> > +++ b/arch/arm64/include/asm/io.h
> > @@ -121,6 +121,7 @@ static inline u64 __raw_readq(const volatile void __iomem *addr)
> > : "memory"); \
> > })
> >
> > +#define __io_par __iormb
>
> I think it makes sense to make the parameter passing explicit, for
> documentation purposes:
>
> #define __io_par(v) __iormb(v)

Thanks, I'll make that change for v2.

Will