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 66707C433F5 for ; Tue, 7 Sep 2021 07:06:58 +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 3C31C6103E for ; Tue, 7 Sep 2021 07:06:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 3C31C6103E 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=jpa9NB61frKHdwsHlpQOc0ye1OGAnH+cnivqnXrVd88=; b=qrJBIDtBV81EoK jZcXfhPox2pfRt9vMxjPDAyoho5+AFKFoMXiCBldyxqeIvTYyp3IoV5/sj5+WJD/ZgGw9fVqCODYH 5hHLulrdVoONr+JeG0aMbvEdeMktakecR8rC8+YDGveA5tgDPBuEISmkInrFPfXXue+5qyaGxQJnh qIrglurNkSM8Ibyy8CGjZxH4ENYFhLk7CIC5EHQ5YdYFFX/wPDzwxq+iN0wVqcn/2+DGdTxZBP/N0 wDfdXMzj6fc79Z9blBNS1APHEeX8YZ9Zj615rtQuW54zot5XshCyykj7qPykapWuy5Vv9Z92IRoky Nvp2IluHS4LuM8AW6/OA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mNVBS-002enE-9n; Tue, 07 Sep 2021 07:06:18 +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 1mNVBP-002emd-Nh for linux-mtd@lists.infradead.org; Tue, 07 Sep 2021 07:06:17 +0000 Received: from ironmsg-lv-alpha.qualcomm.com ([10.47.202.13]) by alexa-out.qualcomm.com with ESMTP; 07 Sep 2021 00:06:15 -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; 07 Sep 2021 00:06:14 -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:36:02 +0530 Received: by mdalam-linux.qualcomm.com (Postfix, from userid 466583) id AC9D5222D3; Tue, 7 Sep 2021 12:36:01 +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 V6] mtd: rawnand: qcom: Update code word value for raw read Date: Tue, 7 Sep 2021 12:35:57 +0530 Message-Id: <1630998357-1359-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-20210907_000615_877875_F756F0BC X-CRM114-Status: GOOD ( 11.90 ) 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 IHRvIHN5c3RlbQptZW1vcnkuCgpGaXhlczogNTAzZWU1YWFkNDMwICgibXRkOiByYXduYW5kOiBx Y29tOiB1cGRhdGUgbGFzdCBjb2RlIHdvcmQgcmVnaXN0ZXIiKQpDYzogc3RhYmxlQGtlcm5lbC5v cmcKU2lnbmVkLW9mZi1ieTogTWQgU2FkcmUgQWxhbSA8bWRhbGFtQGNvZGVhdXJvcmEub3JnPgot LS0KQ2hhbmdlcyBpbiBWNjoKCiAqIEluY29ycG9yYXRlZCAiY29tbWl0IGhhc2giIGNvbW1lbnQg ZnJvbSBNaXF1w6hsCiAqIHVwZGF0ZWQgY29tbWl0IGhhc2ggdG8gMTIgZGlnaXRzIGluIEZpeGVz IHRhZy4KCkNoYW5nZXMgaW4gVjU6CgogKiBJbmNvcnBvcmF0ZWQgImhhc2ggY29tbWl0IiBjb21t ZW50IGZyb20gTWFuaS4KICogVXBkYXRlZCBjb21taXQgaGFzaAoKQ2hhbmdlcyBpbiBWNDoKCiAq IEluY29ycG9yYXRlZCAiQ2hhbmdlIGxvZyIgY29tbWVudCBmcm9tIE1pcXXDqGwKICogVXBkYXRl ZCBjaGFuZ2UgbG9nCgpDaGFuZ2VzIGluIFYzOgogCiAqIEluY29ycG9yYXRlZCAiRml4ZXMgdGFn cyBhcmUgbWlzc2luZyIgY29tbWVudCBmcm9tIE1pcXXDqGwKICogQWRkZWQgRml4ZXMgdGFnIEZp eGVzOjUwM2VlNWFhICgibXRkOiByYXduYW5kOiBxY29tOiB1cGRhdGUgbGFzdCBjb2RlIHdvcmQg cmVnaXN0ZXIiKQoKCkNoYW5nZXMgaW4gVjI6CgogKiBJbmNvcnBvcmF0ZWQgInN0YWJsZSB0YWdz IGFyZSBtaXNzaW5nIiBjb21tZW50IGZyb20gTWlxdcOobAogKiBBZGRlZCBzdGFibGUgdGFncyBD YzpzdGFibGVAa2VybmVsLm9yZwoKIGRyaXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYyB8 IDggKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvcWNvbV9uYW5kYy5jIGIvZHJp dmVycy9tdGQvbmFuZC9yYXcvcWNvbV9uYW5kYy5jCmluZGV4IGVmMGJhZGUuLjA0ZTZmN2IgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYworKysgYi9kcml2ZXJz L210ZC9uYW5kL3Jhdy9xY29tX25hbmRjLmMKQEAgLTE2NzYsMTMgKzE2NzYsMTcgQEAgcWNvbV9u YW5kY19yZWFkX2N3X3JhdyhzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgc3RydWN0IG5hbmRfY2hpcCAq Y2hpcCwKIAlzdHJ1Y3QgbmFuZF9lY2NfY3RybCAqZWNjID0gJmNoaXAtPmVjYzsKIAlpbnQgZGF0 YV9zaXplMSwgZGF0YV9zaXplMiwgb29iX3NpemUxLCBvb2Jfc2l6ZTI7CiAJaW50IHJldCwgcmVn X29mZiA9IEZMQVNIX0JVRl9BQ0MsIHJlYWRfbG9jID0gMDsKKwlpbnQgcmF3X2N3ID0gY3c7CiAK IAluYW5kX3JlYWRfcGFnZV9vcChjaGlwLCBwYWdlLCAwLCBOVUxMLCAwKTsKIAlob3N0LT51c2Vf ZWNjID0gZmFsc2U7CiAKKwlpZiAobmFuZGMtPnByb3BzLT5xcGljX3YyKQorCQlyYXdfY3cgPSBl Y2MtPnN0ZXBzIC0gMTsKKwogCWNsZWFyX2JhbV90cmFuc2FjdGlvbihuYW5kYyk7CiAJc2V0X2Fk ZHJlc3MoaG9zdCwgaG9zdC0+Y3dfc2l6ZSAqIGN3LCBwYWdlKTsKLQl1cGRhdGVfcndfcmVncyho b3N0LCAxLCB0cnVlLCBjdyk7CisJdXBkYXRlX3J3X3JlZ3MoaG9zdCwgMSwgdHJ1ZSwgcmF3X2N3 KTsKIAljb25maWdfbmFuZF9wYWdlX3JlYWQoY2hpcCk7CiAKIAlkYXRhX3NpemUxID0gbXRkLT53 cml0ZXNpemUgLSBob3N0LT5jd19zaXplICogKGVjYy0+c3RlcHMgLSAxKTsKQEAgLTE3MTEsNyAr MTcxNSw3IEBAIHFjb21fbmFuZGNfcmVhZF9jd19yYXcoc3RydWN0IG10ZF9pbmZvICptdGQsIHN0 cnVjdCBuYW5kX2NoaXAgKmNoaXAsCiAJCW5hbmRjX3NldF9yZWFkX2xvYyhjaGlwLCBjdywgMywg cmVhZF9sb2MsIG9vYl9zaXplMiwgMSk7CiAJfQogCi0JY29uZmlnX25hbmRfY3dfcmVhZChjaGlw LCBmYWxzZSwgY3cpOworCWNvbmZpZ19uYW5kX2N3X3JlYWQoY2hpcCwgZmFsc2UsIHJhd19jdyk7 CiAKIAlyZWFkX2RhdGFfZG1hKG5hbmRjLCByZWdfb2ZmLCBkYXRhX2J1ZiwgZGF0YV9zaXplMSwg MCk7CiAJcmVnX29mZiArPSBkYXRhX3NpemUxOwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Np b24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtbXRkLwo= 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 F2330C433F5 for ; Tue, 7 Sep 2021 07:06:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CA12F60C3E for ; Tue, 7 Sep 2021 07:06:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236330AbhIGHHi (ORCPT ); Tue, 7 Sep 2021 03:07:38 -0400 Received: from alexa-out.qualcomm.com ([129.46.98.28]:5117 "EHLO alexa-out.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235480AbhIGHHV (ORCPT ); Tue, 7 Sep 2021 03:07:21 -0400 Received: from ironmsg-lv-alpha.qualcomm.com ([10.47.202.13]) by alexa-out.qualcomm.com with ESMTP; 07 Sep 2021 00:06:15 -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; 07 Sep 2021 00:06:14 -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:36:02 +0530 Received: by mdalam-linux.qualcomm.com (Postfix, from userid 466583) id AC9D5222D3; Tue, 7 Sep 2021 12:36:01 +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 V6] mtd: rawnand: qcom: Update code word value for raw read Date: Tue, 7 Sep 2021 12:35:57 +0530 Message-Id: <1630998357-1359-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: 503ee5aad430 ("mtd: rawnand: qcom: update last code word register") Cc: stable@kernel.org Signed-off-by: Md Sadre Alam --- Changes in V6: * Incorporated "commit hash" comment from Miquèl * updated commit hash to 12 digits in Fixes tag. 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