linux/drivers/mtd/devices
Vincent Whitchurch 9401911f2d mtd: phram: Allow cached mappings
Currently phram always uses ioremap(), but this is unnecessary when
normal memory is used.  If the reserved-memory node does not specify the
no-map property, indicating it should be mapped as system RAM and
ioremap() cannot be used on it, use a cached mapping using
memremap(MEMREMAP_WB) instead.

On one of my systems this improves read performance by ~70%.

(Note that this driver has always used normal memcpy/memset functions on
memory obtained from ioremap(), which sparse doesn't like.  There is no
memremap() variant which maps exactly to ioremap() on all architectures,
so that behaviour of the driver is not changed to avoid affecting
existing users, but the sparse warnings are suppressed in the moved code
with __force.)

Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220510151822.1809278-1-vincent.whitchurch@axis.com
2022-05-16 18:37:48 +02:00
..
bcm47xxsflash.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
bcm47xxsflash.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block2mtd.c mtd: block2mtd: add support for an optional custom MTD label 2021-10-15 12:30:35 +02:00
docg3.c mtd: devices: docg3: Fix kernel-doc 'bad line' and 'excessive doc' issues 2020-11-20 12:37:30 +01:00
docg3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Kconfig mtd: devices: add support for microchip 48l640 EERAM 2021-06-11 20:43:12 +02:00
lart.c mtd: Avoid comma separated statements 2020-08-27 14:16:31 +02:00
Makefile mtd: devices: add support for microchip 48l640 EERAM 2021-06-11 20:43:12 +02:00
mchp23k256.c Core MTD changes: 2022-03-25 13:35:34 -07:00
mchp48l640.c Core MTD changes: 2022-03-25 13:35:34 -07:00
ms02-nv.c mtd: devices: Remove superfluous "break" 2021-05-26 10:58:26 +02:00
ms02-nv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mtd_dataflash.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
mtdram.c mtd: mtdram: Expose module parameters 2019-01-08 12:42:57 +01:00
phram.c mtd: phram: Allow cached mappings 2022-05-16 18:37:48 +02:00
pmc551.c mtd: pmc551: Remove set but not used variable 'soff_lo' 2019-09-15 23:51:07 +02:00
powernv_flash.c mtd: devices: powernv_flash: Add function names to headers and fix 'dev' 2020-11-20 12:37:33 +01:00
serial_flash_cmds.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 420 2019-06-05 17:37:15 +02:00
slram.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
spear_smi.c mtd: spear_smi: use GFP_KERNEL 2022-02-18 15:14:01 +01:00
sst25l.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
st_spi_fsm.c mtd: st_spi_fsm: convert comma to semicolon 2021-02-01 18:58:38 +01:00