All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaehoon Chung <jh80.chung@samsung.com>
To: linux-mmc@vger.kernel.org
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org, ulf.hansson@linaro.org,
	robh+dt@kernel.org, krzk@kernel.org, heiko@sntech.de,
	shawn.lin@rock-chips.com, Jaehoon Chung <jh80.chung@samsung.com>
Subject: [PATCH 05/13] mmc: dw_mmc: call the dw_mci_prep_stop_abort() by default
Date: Thu, 03 Nov 2016 15:21:27 +0900	[thread overview]
Message-ID: <20161103062135.10697-6-jh80.chung@samsung.com> (raw)
In-Reply-To: <20161103062135.10697-1-jh80.chung@samsung.com>

stop_cmdr should be set to values relevant to stop command.
It migth be assigned to values whatever there is mrq->stop or not.
Then it doesn't need to use dw_mci_prepare_command().
It's enough to use the prep_stop_abort for preparing stop command.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
---
 drivers/mmc/host/dw_mmc.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 23fc505..16df93b 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -385,7 +385,7 @@ static void dw_mci_start_command(struct dw_mci *host,
 
 static inline void send_stop_abort(struct dw_mci *host, struct mmc_data *data)
 {
-	struct mmc_command *stop = data->stop ? data->stop : &host->stop_abort;
+	struct mmc_command *stop = &host->stop_abort;
 
 	dw_mci_start_command(host, stop, host->stop_cmdr);
 }
@@ -1277,10 +1277,7 @@ static void __dw_mci_start_request(struct dw_mci *host,
 		spin_unlock_irqrestore(&host->irq_lock, irqflags);
 	}
 
-	if (mrq->stop)
-		host->stop_cmdr = dw_mci_prepare_command(slot->mmc, mrq->stop);
-	else
-		host->stop_cmdr = dw_mci_prep_stop_abort(host, cmd);
+	host->stop_cmdr = dw_mci_prep_stop_abort(host, cmd);
 }
 
 static void dw_mci_start_request(struct dw_mci *host,
@@ -1890,8 +1887,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
 			if (test_and_clear_bit(EVENT_DATA_ERROR,
 					       &host->pending_events)) {
 				dw_mci_stop_dma(host);
-				if (data->stop ||
-				    !(host->data_status & (SDMMC_INT_DRTO |
+				if (!(host->data_status & (SDMMC_INT_DRTO |
 							   SDMMC_INT_EBE)))
 					send_stop_abort(host, data);
 				state = STATE_DATA_ERROR;
@@ -1927,8 +1923,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
 			if (test_and_clear_bit(EVENT_DATA_ERROR,
 					       &host->pending_events)) {
 				dw_mci_stop_dma(host);
-				if (data->stop ||
-				    !(host->data_status & (SDMMC_INT_DRTO |
+				if (!(host->data_status & (SDMMC_INT_DRTO |
 							   SDMMC_INT_EBE)))
 					send_stop_abort(host, data);
 				state = STATE_DATA_ERROR;
@@ -2004,7 +1999,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
 			host->cmd = NULL;
 			host->data = NULL;
 
-			if (mrq->stop)
+			if (!mrq->sbc && mrq->stop)
 				dw_mci_command_complete(host, mrq->stop);
 			else
 				host->cmd_status = 0;
-- 
2.10.1

WARNING: multiple messages have this Message-ID (diff)
From: jh80.chung@samsung.com (Jaehoon Chung)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/13] mmc: dw_mmc: call the dw_mci_prep_stop_abort() by default
Date: Thu, 03 Nov 2016 15:21:27 +0900	[thread overview]
Message-ID: <20161103062135.10697-6-jh80.chung@samsung.com> (raw)
In-Reply-To: <20161103062135.10697-1-jh80.chung@samsung.com>

stop_cmdr should be set to values relevant to stop command.
It migth be assigned to values whatever there is mrq->stop or not.
Then it doesn't need to use dw_mci_prepare_command().
It's enough to use the prep_stop_abort for preparing stop command.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
---
 drivers/mmc/host/dw_mmc.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 23fc505..16df93b 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -385,7 +385,7 @@ static void dw_mci_start_command(struct dw_mci *host,
 
 static inline void send_stop_abort(struct dw_mci *host, struct mmc_data *data)
 {
-	struct mmc_command *stop = data->stop ? data->stop : &host->stop_abort;
+	struct mmc_command *stop = &host->stop_abort;
 
 	dw_mci_start_command(host, stop, host->stop_cmdr);
 }
@@ -1277,10 +1277,7 @@ static void __dw_mci_start_request(struct dw_mci *host,
 		spin_unlock_irqrestore(&host->irq_lock, irqflags);
 	}
 
-	if (mrq->stop)
-		host->stop_cmdr = dw_mci_prepare_command(slot->mmc, mrq->stop);
-	else
-		host->stop_cmdr = dw_mci_prep_stop_abort(host, cmd);
+	host->stop_cmdr = dw_mci_prep_stop_abort(host, cmd);
 }
 
 static void dw_mci_start_request(struct dw_mci *host,
@@ -1890,8 +1887,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
 			if (test_and_clear_bit(EVENT_DATA_ERROR,
 					       &host->pending_events)) {
 				dw_mci_stop_dma(host);
-				if (data->stop ||
-				    !(host->data_status & (SDMMC_INT_DRTO |
+				if (!(host->data_status & (SDMMC_INT_DRTO |
 							   SDMMC_INT_EBE)))
 					send_stop_abort(host, data);
 				state = STATE_DATA_ERROR;
@@ -1927,8 +1923,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
 			if (test_and_clear_bit(EVENT_DATA_ERROR,
 					       &host->pending_events)) {
 				dw_mci_stop_dma(host);
-				if (data->stop ||
-				    !(host->data_status & (SDMMC_INT_DRTO |
+				if (!(host->data_status & (SDMMC_INT_DRTO |
 							   SDMMC_INT_EBE)))
 					send_stop_abort(host, data);
 				state = STATE_DATA_ERROR;
@@ -2004,7 +1999,7 @@ static void dw_mci_tasklet_func(unsigned long priv)
 			host->cmd = NULL;
 			host->data = NULL;
 
-			if (mrq->stop)
+			if (!mrq->sbc && mrq->stop)
 				dw_mci_command_complete(host, mrq->stop);
 			else
 				host->cmd_status = 0;
-- 
2.10.1

  parent reply	other threads:[~2016-11-03  6:24 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-03  6:21 [PATCH 00/13] mmc: dw_mmc: cleans the codes for dwmmc controller Jaehoon Chung
2016-11-03  6:21 ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 01/13] mmc: dw_mmc: display the real register value on debugfs Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 02/13] mmc: dw_mmc: fix the debug message for checking card's present Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 03/13] mmc: dw_mmc: change the DW_MCI_FREQ_MIN from 400K to 100K Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 04/13] mmc: dw_mmc: use the hold register when send stop command Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21 ` Jaehoon Chung [this message]
2016-11-03  6:21   ` [PATCH 05/13] mmc: dw_mmc: call the dw_mci_prep_stop_abort() by default Jaehoon Chung
2016-11-03  6:21 ` [PATCH 06/13] mmc: core: move the cookie's enum values from sdhci.h to mmc.h Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 07/13] mmc: dw_mmc: use the cookie's enum values for post/pre_req() Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 08/13] mmc: dw_mmc: remove the unnecessary mmc_data structure Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 09/13] mmc: dw_mmc: remove the "clock-freq-min-max" property Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03  8:20   ` Heiko Stübner
2016-11-03  8:20     ` Heiko Stübner
2016-11-03  8:42     ` Jaehoon Chung
2016-11-03  8:42       ` Jaehoon Chung
2016-11-03  6:21 ` [PATCH 10/13] ARM: dts: exynos: replace to "max-frequecy" instead of "clock-freq-min-max" Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-03 18:41   ` Krzysztof Kozlowski
2016-11-03 18:41     ` Krzysztof Kozlowski
2016-11-04 10:21     ` Jaehoon Chung
2016-11-04 10:21       ` Jaehoon Chung
2016-11-04 11:19       ` Heiko Stuebner
2016-11-04 11:19         ` Heiko Stuebner
2016-11-04 15:04         ` Krzysztof Kozlowski
2016-11-04 15:04           ` Krzysztof Kozlowski
2016-11-07  0:38           ` Jaehoon Chung
2016-11-07  0:38             ` Jaehoon Chung
2016-11-09 20:10             ` Krzysztof Kozlowski
2016-11-09 20:10               ` Krzysztof Kozlowski
2016-11-09 20:10               ` Krzysztof Kozlowski
2016-11-03  6:21 ` [PATCH 11/13] ARM: dts: rockchip: replace to "max-frequency" " Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-09 14:05   ` Heiko Stuebner
2016-11-09 14:05     ` Heiko Stuebner
2016-11-03  6:21 ` [PATCH 12/13] ARM64: " Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-09 14:37   ` Heiko Stuebner
2016-11-09 14:37     ` Heiko Stuebner
2016-11-03  6:21 ` [PATCH 13/13] Documentation: synopsys-dw-mshc: remove the unused properties Jaehoon Chung
2016-11-03  6:21   ` Jaehoon Chung
2016-11-10 18:47   ` Rob Herring
2016-11-10 18:47     ` Rob Herring
2016-11-10 18:47     ` Rob Herring
2016-11-09 18:55 ` [PATCH 00/13] mmc: dw_mmc: cleans the codes for dwmmc controller Heiko Stuebner
2016-11-09 18:55   ` Heiko Stuebner

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=20161103062135.10697-6-jh80.chung@samsung.com \
    --to=jh80.chung@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=shawn.lin@rock-chips.com \
    --cc=ulf.hansson@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.