mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
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:
@@ -1676,13 +1676,17 @@ qcom_nandc_read_cw_raw(struct mtd_info *mtd, struct nand_chip *chip,
|
||||
struct nand_ecc_ctrl *ecc = &chip->ecc;
|
||||
int data_size1, data_size2, oob_size1, oob_size2;
|
||||
int ret, reg_off = FLASH_BUF_ACC, read_loc = 0;
|
||||
int raw_cw = cw;
|
||||
|
||||
nand_read_page_op(chip, page, 0, NULL, 0);
|
||||
host->use_ecc = false;
|
||||
|
||||
if (nandc->props->qpic_v2)
|
||||
raw_cw = ecc->steps - 1;
|
||||
|
||||
clear_bam_transaction(nandc);
|
||||
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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
reg_off += data_size1;
|
||||
|
||||
Reference in New Issue
Block a user