public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Md Sadre Alam <mdalam@codeaurora.org>
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
Subject: [PATCH 1/3] mtd: rawnand: qcom: Add support for status pipe
Date: Wed, 15 Sep 2021 15:27:29 +0530	[thread overview]
Message-ID: <1631699851-12172-2-git-send-email-mdalam@codeaurora.org> (raw)
In-Reply-To: <1631699851-12172-1-git-send-email-mdalam@codeaurora.org>

From QPIC V2.0 onwards there is a separate pipe
to read status of each code word, called "status" pipe.

"status" pipe will use to read CW status in case of
enhanced read mode like page scope read, multi page read.

Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
---
 drivers/mtd/nand/raw/qcom_nandc.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c
index 04e6f7b..42c6291 100644
--- a/drivers/mtd/nand/raw/qcom_nandc.c
+++ b/drivers/mtd/nand/raw/qcom_nandc.c
@@ -389,6 +389,7 @@ struct qcom_nand_controller {
 			struct dma_chan *tx_chan;
 			struct dma_chan *rx_chan;
 			struct dma_chan *cmd_chan;
+			struct dma_chan *sts_chan;
 		};
 
 		/* will be used only by EBI2 for ADM DMA */
@@ -2737,6 +2738,11 @@ static void qcom_nandc_unalloc(struct qcom_nand_controller *nandc)
 
 		if (nandc->cmd_chan)
 			dma_release_channel(nandc->cmd_chan);
+
+		if (nandc->props->qpic_v2) {
+			if (nandc->sts_chan)
+				dma_release_channel(nandc->sts_chan);
+		}
 	} else {
 		if (nandc->chan)
 			dma_release_channel(nandc->chan);
@@ -2815,6 +2821,14 @@ static int qcom_nandc_alloc(struct qcom_nand_controller *nandc)
 			goto unalloc;
 		}
 
+		if (nandc->props->qpic_v2) {
+			nandc->sts_chan = dma_request_slave_channel(nandc->dev, "sts");
+			if (!nandc->sts_chan) {
+				dev_err(nandc->dev, "failed to request sts channel\n");
+				return -ENODEV;
+			}
+		}
+
 		/*
 		 * Initially allocate BAM transaction to read ONFI param page.
 		 * After detecting all the devices, this BAM transaction will
-- 
2.7.4


  reply	other threads:[~2021-09-15  9:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-15  9:57 [PATCH 0/3] Add support for page scope read Md Sadre Alam
2021-09-15  9:57 ` Md Sadre Alam [this message]
2021-09-28 12:17   ` [PATCH 1/3] mtd: rawnand: qcom: Add support for status pipe mdalam
2021-09-28 12:46     ` Miquel Raynal
2021-09-28 15:52   ` Manivannan Sadhasivam
2021-09-15  9:57 ` [PATCH 2/3] mtd: rawnand: qcom: Add sg list to handle status pipe request Md Sadre Alam
2021-09-28 12:20   ` mdalam
2021-09-28 12:48     ` Miquel Raynal
2021-09-28 16:03   ` Manivannan Sadhasivam
2021-09-15  9:57 ` [PATCH 3/3] mtd: rawnand: qcom: Add support for page scope read Md Sadre Alam
2021-09-28 12:21   ` mdalam
2021-09-28 12:54     ` Miquel Raynal
2021-09-28 16:12   ` Manivannan Sadhasivam
2021-09-28 15:17 ` [PATCH 0/3] " Manivannan Sadhasivam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1631699851-12172-2-git-send-email-mdalam@codeaurora.org \
    --to=mdalam@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=mani@kernel.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=sricharan@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox