Raw NAND controller driver change:

* Qcom: Update code word value for raw reads (QPIC v2+)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEE9HuaYnbmDhq/XIDIJWrqGEe9VoQFAmFpVGEACgkQJWrqGEe9
 VoR5IggAj5dtbvVx89icuQp1yfBebZJXQGVvd06E1Btk36nic538SHnEkc3heiUZ
 ySxBiN8mKI/0wgOK3PBxRoSU9XNAl32W4AmG2nQzhfgL1AL0bCKlaOVuf305ts58
 SGECfEawVNbMZKH/WFwsHQBMH+d+B8oMiWgK7h694OCWQxnQSTBYKCGEB9Dzqjjd
 8l0oQBTgPGOFrb3p0P+GRFbSFy+wLPIQpU9hm1HoXQxZk7K6fSkPqjTYP8FUI8Nc
 bAaQTM7Y2rA2GyandlhUnEkQICu1P1MEVxh9viNYyPKb9Lu85F7mpDa8kCPxq3LS
 67X9gJO+PIzvW0wy6zsSWTWC8giaGg==
 =gtld
 -----END PGP SIGNATURE-----

Merge tag 'mtd/fixes-for-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux

Pull mtd fix from Miquel Raynal:
 "Raw NAND controller driver fix:

   - Qcom: Update code word value for raw reads (QPIC v2+)"

* tag 'mtd/fixes-for-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
  mtd: rawnand: qcom: Update code word value for raw read
This commit is contained in:
Linus Torvalds 2021-10-15 10:13:00 -04:00
commit 9e795d94de

View file

@ -1676,13 +1676,17 @@ qcom_nandc_read_cw_raw(struct mtd_info *mtd, struct nand_chip *chip,
struct nand_ecc_ctrl *ecc = &chip->ecc; struct nand_ecc_ctrl *ecc = &chip->ecc;
int data_size1, data_size2, oob_size1, oob_size2; int data_size1, data_size2, oob_size1, oob_size2;
int ret, reg_off = FLASH_BUF_ACC, read_loc = 0; int ret, reg_off = FLASH_BUF_ACC, read_loc = 0;
int raw_cw = cw;
nand_read_page_op(chip, page, 0, NULL, 0); nand_read_page_op(chip, page, 0, NULL, 0);
host->use_ecc = false; host->use_ecc = false;
if (nandc->props->qpic_v2)
raw_cw = ecc->steps - 1;
clear_bam_transaction(nandc); clear_bam_transaction(nandc);
set_address(host, host->cw_size * cw, page); set_address(host, host->cw_size * cw, page);
update_rw_regs(host, 1, true, cw); update_rw_regs(host, 1, true, raw_cw);
config_nand_page_read(chip); config_nand_page_read(chip);
data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1); data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1);
@ -1711,7 +1715,7 @@ qcom_nandc_read_cw_raw(struct mtd_info *mtd, struct nand_chip *chip,
nandc_set_read_loc(chip, cw, 3, read_loc, oob_size2, 1); nandc_set_read_loc(chip, cw, 3, read_loc, oob_size2, 1);
} }
config_nand_cw_read(chip, false, cw); config_nand_cw_read(chip, false, raw_cw);
read_data_dma(nandc, reg_off, data_buf, data_size1, 0); read_data_dma(nandc, reg_off, data_buf, data_size1, 0);
reg_off += data_size1; reg_off += data_size1;