]> git.baikalelectronics.ru Git - kernel.git/commit
regmap: mmio: Support accelerared noinc operations
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 16 Aug 2022 20:48:32 +0000 (22:48 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 17 Aug 2022 12:00:32 +0000 (13:00 +0100)
commitc5e15ed4eead417d97b9a3918e8d8a2b4047b53c
tree777856fd50029e2ffdff92413e60c89145cbb7b4
parent4980cfc5108402e5e2581b146341ff869e507152
regmap: mmio: Support accelerared noinc operations

Use the newly added callback for accelerated noinc MMIO
to provide writesb, writesw, writesl, writesq, readsb, readsw,
readsl and readsq.

A special quirk is needed to deal with big endian regmaps: there
are no accelerated operations defined for big endian, so fall
back to calling the big endian operations itereatively for this
case.

The Hexagon architecture turns out to have an incomplete
<asm/io.h>: writesb() is not implemented. Fix this by doing
what other architectures do: include <asm-generic/io.h> into
the <asm/io.h> file.

Cc: Brian Cain <bcain@quicinc.com>
Cc: linux-hexagon@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220816204832.265837-2-linus.walleij@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
arch/hexagon/include/asm/io.h
drivers/base/regmap/regmap-mmio.c