All checks were successful
target_linux_generic / Update target_linux_generic (openwrt-25.12) (push) Successful in 8s
32 lines
1.3 KiB
Diff
32 lines
1.3 KiB
Diff
From f820034864dd463cdcd2bebe7940f2eca0eb4223 Mon Sep 17 00:00:00 2001
|
|
From: Gabor Juhos <j4g8y7@gmail.com>
|
|
Date: Wed, 23 Jul 2025 10:06:43 +0200
|
|
Subject: spi: spi-qpic-snand: don't hardcode ECC steps
|
|
|
|
NAND devices with different page sizes requires different number
|
|
of ECC steps, yet the qcom_spi_ecc_init_ctx_pipelined() function
|
|
sets 4 steps in 'ecc_cfg' unconditionally.
|
|
|
|
The correct number of the steps is calculated earlier in the
|
|
function already, so use that instead of the hardcoded value.
|
|
|
|
Fixes: 7304d1909080 ("spi: spi-qpic: add driver for QCOM SPI NAND flash Interface")
|
|
Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
|
|
Link: https://patch.msgid.link/20250723-qpic-snand-fix-steps-v1-1-d800695dde4c@gmail.com
|
|
Signed-off-by: Mark Brown <broonie@kernel.org>
|
|
---
|
|
drivers/spi/spi-qpic-snand.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/spi/spi-qpic-snand.c
|
|
+++ b/drivers/spi/spi-qpic-snand.c
|
|
@@ -308,7 +308,7 @@ static int qcom_spi_ecc_init_ctx_pipelin
|
|
ecc_cfg->bch_enabled = true;
|
|
ecc_cfg->bytes = ecc_cfg->ecc_bytes_hw + ecc_cfg->spare_bytes + ecc_cfg->bbm_size;
|
|
|
|
- ecc_cfg->steps = 4;
|
|
+ ecc_cfg->steps = cwperpage;
|
|
ecc_cfg->cw_data = 516;
|
|
ecc_cfg->cw_size = ecc_cfg->cw_data + ecc_cfg->bytes;
|
|
bad_block_byte = mtd->writesize - ecc_cfg->cw_size * (cwperpage - 1) + 1;
|