From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A912FC433F5 for ; Tue, 7 Sep 2021 06:40:36 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4A33660232 for ; Tue, 7 Sep 2021 06:40:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4A33660232 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=3g15KjTHNxBA62OX8stwZveU6rXkMhCbtOtG1qvw80Q=; b=4d0Wrsnszd82uY QoTd0g5Xz8W0xPXovyK/e/IEvy0zddTKk5iCMgglrgNqHS4IJzQ//inDWUklnKRjJG4eXHDg+aLUT Mz6zTw/+8DvzIllARxk/kvOWH6VOC5oLfQOFqJaTaGMecfht3/hcaZiqUH5xq3VmxlxuzvLAFbvcz BkjeuIJWJvE9CxhYix+Irhx8C+RHzubYxp2LaSUKX6OJ26OegKyrdjxcI/nI5RhcRMO6wilc7ASoH 3UEk+65yUwFV0jbMlnhqzzShyLdtiS9xcDA9/SrGiCxChlDq9ytf/G6LeBmiD23jgcgxGQPR8+bUk A1VZllmE5YZszG5WeJdA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mNUm0-002a5I-Nr; Tue, 07 Sep 2021 06:40:00 +0000 Received: from alexa-out.qualcomm.com ([129.46.98.28]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mNUlx-002a4Q-Ci for linux-mtd@lists.infradead.org; Tue, 07 Sep 2021 06:39:58 +0000 Received: from ironmsg-lv-alpha.qualcomm.com ([10.47.202.13]) by alexa-out.qualcomm.com with ESMTP; 06 Sep 2021 23:39:53 -0700 X-QCInternal: smtphost Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by ironmsg-lv-alpha.qualcomm.com with ESMTP/TLS/AES256-SHA; 06 Sep 2021 23:39:52 -0700 X-QCInternal: smtphost Received: from mdalam-linux.qualcomm.com ([10.201.2.71]) by ironmsg02-blr.qualcomm.com with ESMTP; 07 Sep 2021 12:09:41 +0530 Received: by mdalam-linux.qualcomm.com (Postfix, from userid 466583) id EC9CD222D3; Tue, 7 Sep 2021 12:09:39 +0530 (IST) From: Md Sadre Alam To: miquel.raynal@bootlin.com, mani@kernel.org, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Cc: mdalam@codeaurora.org, sricharan@codeaurora.org, stable@kernel.org Subject: [PATCH V5] mtd: rawnand: qcom: Update code word value for raw read Date: Tue, 7 Sep 2021 12:09:31 +0530 Message-Id: <1630996771-29866-1-git-send-email-mdalam@codeaurora.org> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210906_233957_530702_B374A51D X-CRM114-Status: GOOD ( 11.89 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org RnJvbSBRUElDIFYyIG9ud2FyZHMgdGhlcmUgaXMgYSBzZXBhcmF0ZSByZWdpc3RlciB0byByZWFk Cmxhc3QgY29kZSB3b3JkICJRUElDX05BTkRfUkVBRF9MT0NBVElPTl9MQVNUX0NXX24iLgoKcWNv bV9uYW5kY19yZWFkX2N3X3JhdygpIGlzIHVzZWQgdG8gcmVhZCBvbmx5IG9uZSBjb2RlIHdvcmQK YXQgYSB0aW1lLiBJZiB3ZSB3aWxsIGNvbmZpZ3VyZSBudW1iZXIgb2YgY29kZSB3b3JkcyB0byAx IGluCmluIFFQSUNfTkFORF9ERVYwX0NGRzAgcmVnaXN0ZXIgdGhlbiBRUElDIGNvbnRyb2xsZXIg dGhpbmtzCml0cyByZWFkaW5nIHRoZSBsYXN0IGNvZGUgd29yZCwgc2luY2UgZnJvbSBRUElDIFYy IG9ud2FyZHMKd2UgYXJlIGhhdmluZyBzZXBhcmF0ZSByZWdpc3RlciB0byByZWFkIHRoZSBsYXN0 IGNvZGUgd29yZCwKd2UgaGF2ZSB0byBjb25maWd1cmUgIlFQSUNfTkFORF9SRUFEX0xPQ0FUSU9O X0xBU1RfQ1dfbiIKcmVnaXN0ZXIgdG8gZmV0Y2ggZGF0YSBmcm9tIGNvbnRyb2xsZXIgYnVmZmVy IHRvIHN5c3RlbQptZW1vcnkuCgpGaXhlczogNTAzZWU1YWFkNDMwNTRhMjZjZmQ1Y2M1OTJhMzEy NzBjMDU1MzljZCAoIm10ZDogcmF3bmFuZDogcWNvbTogdXBkYXRlIGxhc3QgY29kZSB3b3JkIHJl Z2lzdGVyIikKQ2M6IHN0YWJsZUBrZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IE1kIFNhZHJlIEFs YW0gPG1kYWxhbUBjb2RlYXVyb3JhLm9yZz4KLS0tCkNoYW5nZXMgaW4gVjU6CgogKiBJbmNvcnBv cmF0ZWQgImhhc2ggY29tbWl0IiBjb21tZW50IGZyb20gTWFuaS4KICogVXBkYXRlZCBjb21taXQg aGFzaAoKQ2hhbmdlcyBpbiBWNDoKCiAqIEluY29ycG9yYXRlZCAiQ2hhbmdlIGxvZyIgY29tbWVu dCBmcm9tIE1pcXXDqGwKICogVXBkYXRlZCBjaGFuZ2UgbG9nCgpDaGFuZ2VzIGluIFYzOgogCiAq IEluY29ycG9yYXRlZCAiRml4ZXMgdGFncyBhcmUgbWlzc2luZyIgY29tbWVudCBmcm9tIE1pcXXD qGwKICogQWRkZWQgRml4ZXMgdGFnIEZpeGVzOjUwM2VlNWFhICgibXRkOiByYXduYW5kOiBxY29t OiB1cGRhdGUgbGFzdCBjb2RlIHdvcmQgcmVnaXN0ZXIiKQoKCkNoYW5nZXMgaW4gVjI6CgogKiBJ bmNvcnBvcmF0ZWQgInN0YWJsZSB0YWdzIGFyZSBtaXNzaW5nIiBjb21tZW50IGZyb20gTWlxdcOo bAogKiBBZGRlZCBzdGFibGUgdGFncyBDYzpzdGFibGVAa2VybmVsLm9yZwoKICAKCiBkcml2ZXJz L210ZC9uYW5kL3Jhdy9xY29tX25hbmRjLmMgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRk L25hbmQvcmF3L3Fjb21fbmFuZGMuYyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFuZGMu YwppbmRleCBlZjBiYWRlLi4wNGU2ZjdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9uYW5kL3Jh dy9xY29tX25hbmRjLmMKKysrIGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvcWNvbV9uYW5kYy5jCkBA IC0xNjc2LDEzICsxNjc2LDE3IEBAIHFjb21fbmFuZGNfcmVhZF9jd19yYXcoc3RydWN0IG10ZF9p bmZvICptdGQsIHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsCiAJc3RydWN0IG5hbmRfZWNjX2N0cmwg KmVjYyA9ICZjaGlwLT5lY2M7CiAJaW50IGRhdGFfc2l6ZTEsIGRhdGFfc2l6ZTIsIG9vYl9zaXpl MSwgb29iX3NpemUyOwogCWludCByZXQsIHJlZ19vZmYgPSBGTEFTSF9CVUZfQUNDLCByZWFkX2xv YyA9IDA7CisJaW50IHJhd19jdyA9IGN3OwogCiAJbmFuZF9yZWFkX3BhZ2Vfb3AoY2hpcCwgcGFn ZSwgMCwgTlVMTCwgMCk7CiAJaG9zdC0+dXNlX2VjYyA9IGZhbHNlOwogCisJaWYgKG5hbmRjLT5w cm9wcy0+cXBpY192MikKKwkJcmF3X2N3ID0gZWNjLT5zdGVwcyAtIDE7CisKIAljbGVhcl9iYW1f dHJhbnNhY3Rpb24obmFuZGMpOwogCXNldF9hZGRyZXNzKGhvc3QsIGhvc3QtPmN3X3NpemUgKiBj dywgcGFnZSk7Ci0JdXBkYXRlX3J3X3JlZ3MoaG9zdCwgMSwgdHJ1ZSwgY3cpOworCXVwZGF0ZV9y d19yZWdzKGhvc3QsIDEsIHRydWUsIHJhd19jdyk7CiAJY29uZmlnX25hbmRfcGFnZV9yZWFkKGNo aXApOwogCiAJZGF0YV9zaXplMSA9IG10ZC0+d3JpdGVzaXplIC0gaG9zdC0+Y3dfc2l6ZSAqIChl Y2MtPnN0ZXBzIC0gMSk7CkBAIC0xNzExLDcgKzE3MTUsNyBAQCBxY29tX25hbmRjX3JlYWRfY3df cmF3KHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBzdHJ1Y3QgbmFuZF9jaGlwICpjaGlwLAogCQluYW5k Y19zZXRfcmVhZF9sb2MoY2hpcCwgY3csIDMsIHJlYWRfbG9jLCBvb2Jfc2l6ZTIsIDEpOwogCX0K IAotCWNvbmZpZ19uYW5kX2N3X3JlYWQoY2hpcCwgZmFsc2UsIGN3KTsKKwljb25maWdfbmFuZF9j d19yZWFkKGNoaXAsIGZhbHNlLCByYXdfY3cpOwogCiAJcmVhZF9kYXRhX2RtYShuYW5kYywgcmVn X29mZiwgZGF0YV9idWYsIGRhdGFfc2l6ZTEsIDApOwogCXJlZ19vZmYgKz0gZGF0YV9zaXplMTsK LS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E5E02C433F5 for ; Tue, 7 Sep 2021 06:39:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CAC3D61104 for ; Tue, 7 Sep 2021 06:39:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233846AbhIGGlA (ORCPT ); Tue, 7 Sep 2021 02:41:00 -0400 Received: from alexa-out.qualcomm.com ([129.46.98.28]:36681 "EHLO alexa-out.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231779AbhIGGk7 (ORCPT ); Tue, 7 Sep 2021 02:40:59 -0400 Received: from ironmsg09-lv.qualcomm.com ([10.47.202.153]) by alexa-out.qualcomm.com with ESMTP; 06 Sep 2021 23:39:53 -0700 X-QCInternal: smtphost Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by ironmsg09-lv.qualcomm.com with ESMTP/TLS/AES256-SHA; 06 Sep 2021 23:39:52 -0700 X-QCInternal: smtphost Received: from mdalam-linux.qualcomm.com ([10.201.2.71]) by ironmsg02-blr.qualcomm.com with ESMTP; 07 Sep 2021 12:09:41 +0530 Received: by mdalam-linux.qualcomm.com (Postfix, from userid 466583) id EC9CD222D3; Tue, 7 Sep 2021 12:09:39 +0530 (IST) From: Md Sadre Alam To: miquel.raynal@bootlin.com, mani@kernel.org, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Cc: mdalam@codeaurora.org, sricharan@codeaurora.org, stable@kernel.org Subject: [PATCH V5] mtd: rawnand: qcom: Update code word value for raw read Date: Tue, 7 Sep 2021 12:09:31 +0530 Message-Id: <1630996771-29866-1-git-send-email-mdalam@codeaurora.org> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >From QPIC V2 onwards there is a separate register to read last code word "QPIC_NAND_READ_LOCATION_LAST_CW_n". qcom_nandc_read_cw_raw() is used to read only one code word at a time. If we will configure number of code words to 1 in in QPIC_NAND_DEV0_CFG0 register then QPIC controller thinks its reading the last code word, since from QPIC V2 onwards we are having separate register to read the last code word, we have to configure "QPIC_NAND_READ_LOCATION_LAST_CW_n" register to fetch data from controller buffer to system memory. Fixes: 503ee5aad43054a26cfd5cc592a31270c05539cd ("mtd: rawnand: qcom: update last code word register") Cc: stable@kernel.org Signed-off-by: Md Sadre Alam --- Changes in V5: * Incorporated "hash commit" comment from Mani. * Updated commit hash Changes in V4: * Incorporated "Change log" comment from Miquèl * Updated change log Changes in V3: * Incorporated "Fixes tags are missing" comment from Miquèl * Added Fixes tag Fixes:503ee5aa ("mtd: rawnand: qcom: update last code word register") Changes in V2: * Incorporated "stable tags are missing" comment from Miquèl * Added stable tags Cc:stable@kernel.org drivers/mtd/nand/raw/qcom_nandc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c index ef0bade..04e6f7b 100644 --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c @@ -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; -- 2.7.4