2d284768b4
The current mainline locking was restricted and could only be applied to flashes that have 3 block protection bits and fixed locking ratio. A new method of normalization was reached at the end of the discussion [1]. (1) - if bp slot is insufficient. (2) - if bp slot is sufficient. if (bp_slots_needed > bp_slots) // (1) min_prot_length = sector_size << (bp_slots_needed - bp_slots); else // (2) min_prot_length = sector_size; This patch changes logic to handle block protection based on min_prot_length. It is suitable for the overall flashes with exception of some corner cases (see EON and catalyst) and easy to extend and apply for the case of 2bit or 4bit block protection. [1] http://lists.infradead.org/pipermail/linux-mtd/2020-February/093934.html Signed-off-by: Jungseung Lee <js07.lee@samsung.com> Reviewed-by: Michael Walle <michael@walle.cc> Tested-by: Michael Walle <michael@walle.cc> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> |
||
---|---|---|
.. | ||
controllers | ||
atmel.c | ||
catalyst.c | ||
core.c | ||
core.h | ||
eon.c | ||
esmt.c | ||
everspin.c | ||
fujitsu.c | ||
gigadevice.c | ||
intel.c | ||
issi.c | ||
Kconfig | ||
macronix.c | ||
Makefile | ||
micron-st.c | ||
sfdp.c | ||
sfdp.h | ||
spansion.c | ||
sst.c | ||
winbond.c | ||
xilinx.c | ||
xmc.c |