Chuanhong Guo
6fa50e26e7
kernel: mtk_bmt: skip bitflip check if threshold isn't set
...
kernel spi-nand driver leaves this field empty and let mtd set it later.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-09 21:08:26 +08:00
Felix Fietkau
2a8a333ee9
kernel: mtk_bmt: add debugfs file to attempt repair of remapped sectors
...
This can be used for sectors that are not physically damaged
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-25 21:11:09 +01:00
Felix Fietkau
06382d1af7
kernel: add support for mediatek NMBM flash mapping support
...
This NAND flash remapping method is used on newer MediaTek devices with NAND
flash.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-25 21:11:09 +01:00
Felix Fietkau
be1f2b4d9d
kernel: mtk_bmt: on error, do not attempt to remap out-of-range blocks
...
Pass errors to caller instead
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-25 21:11:09 +01:00
Felix Fietkau
7d1e2be160
kernel: mtk_bmt: fix block copying on remap with bmt v2
...
Copy from the previously mapped block (in case it was remapped already)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-25 21:11:09 +01:00
Felix Fietkau
b4c7f8c5f7
kernel: mtk_bmt: allow get_mapping_block to return an error
...
Used by the mapping implementation to indicate that no backing block is
available
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-25 21:11:09 +01:00
Felix Fietkau
601c7b4adb
kernel: split up mtk_bmt driver code
...
Keep a separate source file per variant
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-25 21:11:09 +01:00
Felix Fietkau
e2aa04d1e5
kernel: mtk_bmt: add support for the bbt format used on mt7621
...
This does not have spare blocks for remapping, and it is also not suitable
for random write access. It only skips over bad blocks on linear writes of an
image to a partition. As such, it is really only suitable for the kernel
partition, or other partitions with mostly static data
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
ff6b4f2cfb
kernel: mtk_bmt: add abstraction for supporting other formats
...
Preparation for supporting remapping on MT7621
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
7235c8d00c
kernel: mtk_bmt: remap blocks after reaching bitflip threshold
...
This ensures that blocks are remapped before data becomes corrupt
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
0ddead0897
kernel: mtk_bmt: pass number of bitflips on read to the caller
...
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
b86452f841
kernel: mtk_bmt: add support for limiting range of remapping
...
This can be used to support ubi on top of mtk_bmt without reflashing the
boot loader. The boot loader + factory + kernel area is covered, while the
rest is passed through as-is
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
31b6cfb288
kernel: mtk_bmt: extend debug interface
...
Add support for showing remapped blocks and garbage collecting old
remapped blocks triggered by using the mark_good/mark_bad files
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
fde2421597
kernel: mtk_bmt: fix remapping after read/write failure
...
Copy from the previous block in order to preserve existing data
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
bcf91fe884
kernel: move mediatek BMT support patch to generic patches
...
Preparation for supporting BMT on MT7621. Move source files to the files/
subdirectory in order to simplify maintenance
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00