cip-dev.lists.cip-project.org archive mirror
 help / color / mirror / Atom feed
From: "Lad Prabhakar" <prabhakar.mahadev-lad.rj@bp.renesas.com>
To: cip-dev@lists.cip-project.org,
	Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>,
	Pavel Machek <pavel@denx.de>
Cc: Biju Das <biju.das.jz@bp.renesas.com>
Subject: [PATCH 5.10.y-cip 23/39] mmc: tmio: always restore irq register
Date: Wed, 30 Mar 2022 19:54:38 +0100	[thread overview]
Message-ID: <20220330185454.10887-24-prabhakar.mahadev-lad.rj@bp.renesas.com> (raw)
In-Reply-To: <20220330185454.10887-1-prabhakar.mahadev-lad.rj@bp.renesas.com>

From: Wolfram Sang <wsa+renesas@sang-engineering.com>

commit 0751d56ef1f25c4206626dff99445db34dedf437 upstream.

Currently, only SDHI on R-Car Gen2+ reinitializes the irq register
during reset but it should be done on all instances. We can move it from
the SDHI driver to the TMIO core, because we now have the
'sd_irq_mask_all' variable which carries the proper value to use. That
also means we can remove the initialization from tmio_mmc_probe()
because it calls tmio_mmc_reset(), too. We only move that
tmio_mmc_reset() call there a little to ensure 'sd_irq_mask_all' is
properly set.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20210413083137.11171-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
 drivers/mmc/host/renesas_sdhi_core.c |  2 --
 drivers/mmc/host/tmio_mmc_core.c     | 11 ++++++-----
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
index 1783a0a6ee56..8a9d74474768 100644
--- a/drivers/mmc/host/renesas_sdhi_core.c
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -588,8 +588,6 @@ static void renesas_sdhi_reset(struct tmio_mmc_host *host)
 		renesas_sdhi_scc_reset(host, priv);
 	}
 
-	sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, TMIO_MASK_ALL_RCAR2);
-
 	if (sd_ctrl_read16(host, CTL_VERSION) >= SDHI_VER_GEN3_SD) {
 		val = sd_ctrl_read16(host, CTL_SD_MEM_CARD_OPT);
 		val |= CARD_OPT_EXTOP;
diff --git a/drivers/mmc/host/tmio_mmc_core.c b/drivers/mmc/host/tmio_mmc_core.c
index 59372de733b2..bb5eb478b6cf 100644
--- a/drivers/mmc/host/tmio_mmc_core.c
+++ b/drivers/mmc/host/tmio_mmc_core.c
@@ -192,6 +192,9 @@ static void tmio_mmc_reset(struct tmio_mmc_host *host)
 	if (host->reset)
 		host->reset(host);
 
+	sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, host->sdcard_irq_mask_all);
+	host->sdcard_irq_mask = host->sdcard_irq_mask_all;
+
 	tmio_mmc_set_bus_width(host, host->mmc->ios.bus_width);
 
 	if (host->pdata->flags & TMIO_MMC_SDIO_IRQ) {
@@ -1183,13 +1186,11 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host)
 	if (pdata->flags & TMIO_MMC_SDIO_IRQ)
 		_host->sdio_irq_mask = TMIO_SDIO_MASK_ALL;
 
-	_host->set_clock(_host, 0);
-	tmio_mmc_reset(_host);
-
-	_host->sdcard_irq_mask = sd_ctrl_read16_and_16_as_32(_host, CTL_IRQ_MASK);
 	if (!_host->sdcard_irq_mask_all)
 		_host->sdcard_irq_mask_all = TMIO_MASK_ALL;
-	tmio_mmc_disable_mmc_irqs(_host, _host->sdcard_irq_mask_all);
+
+	_host->set_clock(_host, 0);
+	tmio_mmc_reset(_host);
 
 	if (_host->native_hotplug)
 		tmio_mmc_enable_mmc_irqs(_host,
-- 
2.17.1



  parent reply	other threads:[~2022-03-30 18:55 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30 18:54 [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 01/39] mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 02/39] mmc: renesas_sdhi: populate SCC pointer at the proper place Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 03/39] mmc: renesas_sdhi: simplify reset routine a little Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 04/39] mmc: renesas_sdhi: clear TAPEN when resetting, too Lad Prabhakar
2022-03-31 10:13   ` Pavel Machek
2022-04-01 19:18     ` Prabhakar Mahadev Lad
2022-03-30 18:54 ` [PATCH 5.10.y-cip 05/39] mmc: renesas_sdhi: merge the SCC reset functions Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 06/39] mmc: renesas_sdhi: remove superfluous SCLKEN Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 07/39] mmc: renesas_sdhi: improve HOST_MODE usage Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 08/39] mmc: renesas_sdhi: don't hardcode SDIF values Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 09/39] mmc: renesas_sdhi: sort includes Lad Prabhakar
2022-03-31 10:14   ` Pavel Machek
2022-04-01 19:19     ` Prabhakar Mahadev Lad
2022-03-30 18:54 ` [PATCH 5.10.y-cip 10/39] mmc: tmio: set max_busy_timeout Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 11/39] mmc: tmio: add hook for custom busy_wait calculation Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 12/39] mmc: renesas_sdhi: populate hook for longer busy_wait Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 13/39] mmc: renesas_internal_dmac: add pre_req and post_req support Lad Prabhakar
2022-03-31 10:16   ` Pavel Machek
2022-04-01 19:20     ` Prabhakar Mahadev Lad
2022-03-30 18:54 ` [PATCH 5.10.y-cip 14/39] mmc: tmio: Add data timeout error detection Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 15/39] mmc: renesas_sdhi: Add a condition of cmd/data timeout for retune Lad Prabhakar
2022-03-31 10:18   ` Pavel Machek
2022-04-01 19:27     ` Prabhakar Mahadev Lad
2022-03-30 18:54 ` [PATCH 5.10.y-cip 16/39] mmc: tmio: support custom irq masks Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 17/39] mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 18/39] mmc: tmio: abort DMA before reset Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 19/39] mmc: tmio: restore bus width when resetting Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 20/39] mmc: renesas_sdhi: break SCC reset into own function Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 21/39] mmc: renesas_sdhi: do hard reset if possible Lad Prabhakar
2022-03-31 10:20   ` Pavel Machek
2022-04-01 19:29     ` Prabhakar Mahadev Lad
2022-03-30 18:54 ` [PATCH 5.10.y-cip 22/39] mmc: tmio: always flag retune when resetting and a card is present Lad Prabhakar
2022-03-30 18:54 ` Lad Prabhakar [this message]
2022-03-30 18:54 ` [PATCH 5.10.y-cip 24/39] mmc: tmio: reenable card irqs after the reset callback Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 25/39] mmc: tmio: reinit card irqs in reset routine Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 26/39] clk: renesas: rzg2l: Add SDHI clk mux support Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 27/39] clk: renesas: rzg2l: Add missing kerneldoc for resets Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 28/39] clk: renesas: rzg2l: Check return value of pm_genpd_init() Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 29/39] clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple() Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 30/39] clk: renesas: r9a07g044: Add SDHI clock and reset entries Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 31/39] dt-bindings: Fix errors in 'if' schemas Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 32/39] dt-bindings: Drop redundant minItems/maxItems Lad Prabhakar
2022-03-31 10:22   ` Pavel Machek
2022-04-01 19:32     ` Prabhakar Mahadev Lad
2022-03-30 18:54 ` [PATCH 5.10.y-cip 33/39] dt-bindings: mmc: renesas,sdhi: Fix dtbs-check warning Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 34/39] dt-bindings: mmc: renesas,sdhi: Document RZ/G2L bindings Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 35/39] dt-bindings: mmc: renesas,sdhi: Add optional SDnH clock Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 36/39] dt-bindings: mmc: renesas,sdhi: Rename RZ/G2L clocks Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 37/39] arm64: dts: renesas: r9a07g044: Add SDHI nodes Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 38/39] arm64: dts: renesas: rzg2l-smarc-som: Enable eMMC on SMARC platform Lad Prabhakar
2022-03-30 18:54 ` [PATCH 5.10.y-cip 39/39] arm64: dts: renesas: rzg2l-smarc: Enable microSD " Lad Prabhakar
2022-03-31  8:58 ` [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC Pavel Machek
2022-03-31  9:28 ` Pavel Machek
2022-03-31 11:29   ` Prabhakar Mahadev Lad
2022-03-31 12:49     ` Pavel Machek
2022-03-31 23:35       ` nobuhiro1.iwamatsu
2022-04-01 19:35   ` Prabhakar Mahadev Lad

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=20220330185454.10887-24-prabhakar.mahadev-lad.rj@bp.renesas.com \
    --to=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=biju.das.jz@bp.renesas.com \
    --cc=cip-dev@lists.cip-project.org \
    --cc=nobuhiro1.iwamatsu@toshiba.co.jp \
    --cc=pavel@denx.de \
    /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;
as well as URLs for NNTP newsgroup(s).