]> git.dujemihanovic.xyz Git - u-boot.git/commit
mtd: spi-nor: Allow flashes to specify MTD writesize
authorTakahiro Kuwano <Takahiro.Kuwano@infineon.com>
Tue, 15 Oct 2024 04:08:32 +0000 (13:08 +0900)
committerTom Rini <trini@konsulko.com>
Tue, 15 Oct 2024 14:57:49 +0000 (08:57 -0600)
commit88057dab2cde8710ccc95d12fb312184e0b023ca
treedbf1427de306ae36e5e63ee8e9a095cef09fd206
parent6d7a8bf8c03343868d858b1cdb2ab737aabfca66
mtd: spi-nor: Allow flashes to specify MTD writesize

Some flashes like the Infineon SEMPER NOR flash family use ECC. Under
this ECC scheme, multi-pass writes to an ECC block is not allowed.
In other words, once data is programmed to an ECC block, it can't be
programmed again without erasing it first.

Upper layers like file systems need to be given this information so they
do not cause error conditions on the flash by attempting multi-pass
programming. This can be done by setting 'writesize' in 'struct
mtd_info'.

Set the default to 1 but allow flashes to modify it in fixup hooks. If
more flashes show up with this constraint in the future it might be
worth it to add it to 'struct flash_info', but for now increasing its
size is not worth it.

This patch replicates the following upstream linux commit:
afd473e85827 ("mtd: spi-nor: core: Allow flashes to specify MTD writesize")

Acked-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
drivers/mtd/spi/spi-nor-core.c
include/linux/mtd/spi-nor.h