Re: [PATCH 07/18] regmap: mmio: add config option to allow relaxed MMIO accesses
From: Adrian Ratiu
Date: Wed Oct 14 2020 - 07:50:16 EST
Hello Mark,
On Tue, 13 Oct 2020, Mark Brown <broonie@xxxxxxxxxx> wrote:
On Mon, Oct 12, 2020 at 11:59:46PM +0300, Adrian Ratiu wrote:
- writeb(val, ctx->regs + reg); + if (ctx->relaxed_mmio) +
writeb_relaxed(val, ctx->regs + reg); + else +
writeb(val, ctx->regs + reg);
There is no point in doing a conditional operation on every I/O,
it'd be better to register a different set of ops when doing
relaxed I/O.
Indeed I have considered adding new functions but went with this
solution because it's easier for the users to only have to define
a "relaxed" config then test the regmap ctx as above.
Thinking a bit more about it, yes, it makes more sense to have
dedicated ops: this way users don't have to be explicit about
adding membarriers and can combine relaxed and non-relaxed more
easily, so it's also a better API trade-off in addition to
avoiding the conditional. Thanks!
Question: Do you want me to split this patch from the series and
send it separately just for the regmap subsystem to be easier to
review / apply?
Kind regards,
Adrian