]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
spi: airoha: avoid reading flash page settings from SNFI registers during driver...
authorMikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Sun, 12 Oct 2025 12:17:03 +0000 (15:17 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 17 Oct 2025 12:30:52 +0000 (13:30 +0100)
commit902c0ea18a97b1a6eeee5799cb1fd9a79ef9208e
tree6853a0307922e97342da74fadd595851907cad05
parentfb81b5cecb8553e3ca2b45288cf340d43c9c2991
spi: airoha: avoid reading flash page settings from SNFI registers during driver startup

The spinand driver do 3 type of dirmap requests:
 * read/write whole flash page without oob
   (offs = 0, len = page_size)
 * read/write whole flash page including oob
   (offs = 0, len = page_size + oob_size)
 * read/write oob area only
   (offs = page_size, len = oob_size)

The trick is:
 * read/write a single "sector"
 * set a custom sector size equal to offs + len. It's a bit safer to
   rounded up "sector size" value 64.
 * set the transfer length equal to custom sector size

And it works!

Thus we can remove a dirty hack that reads flash page settings from
SNFI registers during driver startup. Also airoha_snand_adjust_op_size()
function becomes unnecessary.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Link: https://patch.msgid.link/20251012121707.2296160-13-mikhail.kshevetskiy@iopsys.eu
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-airoha-snfi.c