mtd: msm_qpic_nand: Enable Pagescope read feature and reset status_desc

Enable Pagescope read feature and reset status_desc variable upon every
page read. This makes status_desc variable points to correct memory for
status register values for every page count.

Change-Id: Ic9b5f81de11ca5a249302570bf4b7f38d96b4e38
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
This commit is contained in:
Sarthak Garg 2021-04-26 15:37:59 +05:30
commit 3bd7261e67

View file

@ -2018,14 +2018,14 @@ static int msm_nand_read_pagescope(struct mtd_info *mtd, loff_t from,
}
cmd_list = (struct msm_nand_rw_cmd_desc *)&dma_buffer->cmd_list;
status_desc =
(struct msm_nand_read_status_desc *)&dma_buffer->result[0];
ecc_capability = flash_dev->ecc_capability;
while (rw_params.page_count-- > 0) {
uint32_t cw_desc_cnt = 1;
struct sps_command_element *curr_ce, *start_ce;
status_desc =
(struct msm_nand_read_status_desc *)&dma_buffer->result[0];
erased_page = false;
data.addr0 = (rw_params.page << 16) | rw_params.oob_col;
data.addr1 = (rw_params.page >> 16) & 0xff;
@ -4517,6 +4517,7 @@ static int msm_nand_probe(struct platform_device *pdev)
info->nand_chip.qpic_min_version = qpic_version.qpic_minor;
if (info->nand_chip.qpic_version >= 2 &&
info->nand_chip.qpic_min_version >= 1) {
info->nand_chip.caps = MSM_NAND_CAP_PAGE_SCOPE_READ;
mutex_lock(&info->lock);
err = msm_nand_get_device(info->nand_chip.dev);
if (err) {