[RESEND PATCH 5.10.y-cip 01/40] mmc: renesas_sdhi: only reset SCC when its pointer is populated
Lad Prabhakar
From: Wolfram Sang <wsa+renesas@...>
commit 45bffc371fefd8537804b001080a47c6b69d5efa upstream. Only re-initialize SCC and tuning when an SCC was found during probe(). This is currently a noop because all R-Car Gen2+ are considered to have an SCC. But this will change in a later patch, so we need this preparation. Signed-off-by: Wolfram Sang <wsa+renesas@...> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@...> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@...> Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@...> Link: https://lore.kernel.org/r/20201110142058.36393-2-wsa+renesas@sang-engineering.com Signed-off-by: Ulf Hansson <ulf.hansson@...> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@...> --- drivers/mmc/host/renesas_sdhi_core.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c index 782879d46ff4..d5e7bbdffc53 100644 --- a/drivers/mmc/host/renesas_sdhi_core.c +++ b/drivers/mmc/host/renesas_sdhi_core.c @@ -556,16 +556,18 @@ static void renesas_sdhi_reset(struct tmio_mmc_host *host) { struct renesas_sdhi *priv = host_to_priv(host); - renesas_sdhi_reset_scc(host, priv); - renesas_sdhi_reset_hs400_mode(host, priv); - priv->needs_adjust_hs400 = false; + if (priv->scc_ctl) { + renesas_sdhi_reset_scc(host, priv); + renesas_sdhi_reset_hs400_mode(host, priv); + priv->needs_adjust_hs400 = false; - sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN | - sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL)); + sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN | + sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL)); - sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL, - ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN & - sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL)); + sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL, + ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN & + sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL)); + } if (host->pdata->flags & TMIO_MMC_MIN_RCAR2) sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, -- 2.17.1
|
|
[RESEND PATCH 5.10.y-cip 00/40] Add SD/eMMC support for Renesas RZ/G2L SoC
Lad Prabhakar
Hi All,
This patch series adds support for SD/eMMC on Renesas RZ/G2L SoC and enables this interfaces on Renesas RZ/G2L SMARC EVK. All the patches have been cherry picked from v5.17 release. Resending as I had missed a patch (0001) earlier, reset of the patches havent been changed. And also for some reason patches didnt make into patchwork. Cheers, Prabhakar Biju Das (9): mmc: tmio: reinit card irqs in reset routine clk: renesas: rzg2l: Add SDHI clk mux support clk: renesas: r9a07g044: Add SDHI clock and reset entries dt-bindings: mmc: renesas,sdhi: Fix dtbs-check warning dt-bindings: mmc: renesas,sdhi: Document RZ/G2L bindings dt-bindings: mmc: renesas,sdhi: Rename RZ/G2L clocks arm64: dts: renesas: r9a07g044: Add SDHI nodes arm64: dts: renesas: rzg2l-smarc-som: Enable eMMC on SMARC platform arm64: dts: renesas: rzg2l-smarc: Enable microSD on SMARC platform Geert Uytterhoeven (1): clk: renesas: rzg2l: Add missing kerneldoc for resets Lad Prabhakar (2): clk: renesas: rzg2l: Check return value of pm_genpd_init() clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple() Masaharu Hayakawa (1): mmc: tmio: Add data timeout error detection Rob Herring (2): dt-bindings: Fix errors in 'if' schemas dt-bindings: Drop redundant minItems/maxItems Takeshi Saito (1): mmc: tmio: restore bus width when resetting Wolfram Sang (22): mmc: renesas_sdhi: only reset SCC when its pointer is populated mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup mmc: renesas_sdhi: populate SCC pointer at the proper place mmc: renesas_sdhi: simplify reset routine a little mmc: renesas_sdhi: clear TAPEN when resetting, too mmc: renesas_sdhi: merge the SCC reset functions mmc: renesas_sdhi: remove superfluous SCLKEN mmc: renesas_sdhi: improve HOST_MODE usage mmc: renesas_sdhi: don't hardcode SDIF values mmc: renesas_sdhi: sort includes mmc: tmio: set max_busy_timeout mmc: tmio: add hook for custom busy_wait calculation mmc: renesas_sdhi: populate hook for longer busy_wait mmc: tmio: support custom irq masks mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL mmc: tmio: abort DMA before reset mmc: renesas_sdhi: break SCC reset into own function mmc: renesas_sdhi: do hard reset if possible mmc: tmio: always flag retune when resetting and a card is present mmc: tmio: always restore irq register mmc: tmio: reenable card irqs after the reset callback dt-bindings: mmc: renesas,sdhi: Add optional SDnH clock Yoshihiro Shimoda (2): mmc: renesas_internal_dmac: add pre_req and post_req support mmc: renesas_sdhi: Add a condition of cmd/data timeout for retune .../devicetree/bindings/mmc/renesas,sdhi.yaml | 153 ++++++++++++------ arch/arm64/boot/dts/renesas/r9a07g044.dtsi | 32 ++++ .../boot/dts/renesas/rzg2l-smarc-som.dtsi | 143 ++++++++++++++++ arch/arm64/boot/dts/renesas/rzg2l-smarc.dtsi | 62 +++++++ drivers/clk/renesas/r9a07g044-cpg.c | 36 +++++ drivers/clk/renesas/rzg2l-cpg.c | 136 +++++++++++++++- drivers/clk/renesas/rzg2l-cpg.h | 19 +++ drivers/mmc/host/Kconfig | 1 + drivers/mmc/host/renesas_sdhi.h | 2 + drivers/mmc/host/renesas_sdhi_core.c | 153 ++++++++++++------ drivers/mmc/host/renesas_sdhi_internal_dmac.c | 91 ++++++++++- drivers/mmc/host/tmio_mmc.h | 11 +- drivers/mmc/host/tmio_mmc_core.c | 88 ++++++---- drivers/mmc/host/uniphier-sd.c | 1 + include/linux/mfd/tmio.h | 7 +- 15 files changed, 794 insertions(+), 141 deletions(-) -- 2.17.1
|
|
Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC
Lad Prabhakar
Hi Pavel, Nobuhiro,
toggle quoted messageShow quoted text
-----Original Message-----Sorry about that, I realized now I had missed a patch! Will resend the series (with 40 patches). Cheers, Prabhakar 8bb6e30b765989a3c0924158316d689e16317cd1
|
|
Re: [PATCH 5.10.y-cip 32/39] dt-bindings: Drop redundant minItems/maxItems
Lad Prabhakar
Hi Pavel,
toggle quoted messageShow quoted text
Thank you for the review.
-----Original Message-----Right 5.10.x will use older schemas. Let me know your thoughts If you want me to drop this patch. I guess it is not a big deal either way.Im hoping you are ok with this change. Cheers, Prabhakar Best regards,
|
|
Re: [PATCH 5.10.y-cip 21/39] mmc: renesas_sdhi: do hard reset if possible
Lad Prabhakar
Hi Pavel,
toggle quoted messageShow quoted text
Thank you for the review.
-----Original Message-----Yes you are right this needs to land into appropriate error path. Cheers, Prabhakar Best regards,
|
|
Re: [PATCH 5.10.y-cip 15/39] mmc: renesas_sdhi: Add a condition of cmd/data timeout for retune
Lad Prabhakar
Hi Pavel,
toggle quoted messageShow quoted text
Thank you for the review.
-----Original Message-----Agreed. Cheers, Prabhakar Best regards,
|
|
Re: [PATCH 5.10.y-cip 13/39] mmc: renesas_internal_dmac: add pre_req and post_req support
Lad Prabhakar
Hi Pavel,
toggle quoted messageShow quoted text
Thank you for the review.
-----Original Message-----Agreed. Ditto.+ /* This DMAC cannot handle if buffer is not 128-bytes alignment */"aligned"? Cheers, Prabhakar Best regards,
|
|
Re: [PATCH 5.10.y-cip 09/39] mmc: renesas_sdhi: sort includes
Lad Prabhakar
Hi Pavel,
toggle quoted messageShow quoted text
Thank you for the review.
-----Original Message-----My understating was most subsystems prefer alphabetical. Cheers, Prabhakar Best regards,
|
|
Re: [PATCH 5.10.y-cip 04/39] mmc: renesas_sdhi: clear TAPEN when resetting, too
Lad Prabhakar
Hi Pavel,
toggle quoted messageShow quoted text
Thank you for the review.
-----Original Message-----That's because renesas_sdhi_disable_scc() needed only host->mmc pointer. Cheers, Prabhakar Best regards,
|
|
Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC
Nobuhiro Iwamatsu
Hi all,
toggle quoted messageShow quoted text
-----Original Message-----I have the same issue. It seems that patchwork has not been able to catch all the patches. https://patchwork.kernel.org/project/cip-dev/list/?series=627598 And CIP-dev ML is in the same situation. https://lore.kernel.org/cip-dev/20220331124910.GA16062@duo.ucw.cz/T/#m5be9be981a6acb372766fc280b7fb27eb5a27527 1 to 10, 18, 23, 26, 27, 32 do not exist. Best regards, Nobuhiro
|
|
Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC
Pavel Machek
Hi!
I took patches from emails list, not from patchwork, so that shouldI did cross check my base branch and it is 5.10.106-cip4. For some weird reason patches 01 to 09 are missing in patchwork. (I can see the patches are in my inbox though and pretty sure you too have it as have received feedback on patch 04 and 09).This patch series adds support for SD/eMMC on Renesas RZ/G2L SoC andI tried to apply the patches on top of 5.10.106-cip4, and could not. Can not be it. Let me try again: git log commit 8bb6e30b765989a3c0924158316d689e16317cd1 (HEAD -> linux-5.10.y-cip, tag: v5.10.106-cip4, origin/l\ inux-5.10.y-cip) Author: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@...> Date: Tue Mar 29 08:32:48 2022 +0900 CIP: Bump version suffix to -cip4 after merge from stable pavel@duo:~/cip/10$ ./git-am /tmp/delme.zz pavel@duo:~/cip/10$ ./git-am /tmp/delme.zt Applying: mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup Applying: mmc: renesas_sdhi: populate SCC pointer at the proper place Applying: mmc: renesas_sdhi: simplify reset routine a little error: patch failed: drivers/mmc/host/renesas_sdhi_core.c:569 error: drivers/mmc/host/renesas_sdhi_core.c: patch does not apply Patch failed at 0003 mmc: renesas_sdhi: simplify reset routine a little hint: Use 'git am --show-current-patch' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". pavel@duo:~/cip/10$ git am --skip Applying: mmc: renesas_sdhi: clear TAPEN when resetting, too error: patch failed: drivers/mmc/host/renesas_sdhi_core.c:558 error: drivers/mmc/host/renesas_sdhi_core.c: patch does not apply Patch failed at 0004 mmc: renesas_sdhi: clear TAPEN when resetting, too hint: Use 'git am --show-current-patch' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". pavel@duo:~/cip/10$ pavel@duo:~/cip/10$ git am --skip Applying: mmc: renesas_sdhi: merge the SCC reset functions Applying: mmc: renesas_sdhi: remove superfluous SCLKEN error: patch failed: drivers/mmc/host/renesas_sdhi_core.c:556 error: drivers/mmc/host/renesas_sdhi_core.c: patch does not apply Patch failed at 0006 mmc: renesas_sdhi: remove superfluous SCLKEN hint: Use 'git am --show-current-patch' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". pavel@duo:~/cip/10$ Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC
Lad Prabhakar
Hi Pavel,
toggle quoted messageShow quoted text
-----Original Message-----I did cross check my base branch and it is 5.10.106-cip4. For some weird reason patches 01 to 09 are missing in patchwork. (I can see the patches are in my inbox though and pretty sure you too have it as have received feedback on patch 04 and 09). Do you want me to resend the series hoping patches appear on patchwork? Cheers, Prabhakar 8bb6e30b765989a3c0924158316d689e16317cd1
|
|
Re: [PATCH 5.10.y-cip 32/39] dt-bindings: Drop redundant minItems/maxItems
Pavel Machek
Hi!
This condition is partially checked with the meta-schema already, butDo we have the improved meta-scheme in 5.10.X? Are we actually running the dts schema checks? I guess it is not a big deal either way. Best regards, Pavel +++ b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml-- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 21/39] mmc: renesas_sdhi: do hard reset if possible
Pavel Machek
Hi!
commit b4d86f37eacb724690d0d300576b82806bc743d5 upstream. +++ b/drivers/mmc/host/renesas_sdhi_core.cI believe this needs to goto to appropriate error path, not return directly. Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 15/39] mmc: renesas_sdhi: Add a condition of cmd/data timeout for retune
Pavel Machek
Hi!
commit ed2fab9a8229cc70fe03032e48d0ec375df6013e upstream. @@ -790,11 +792,19 @@ static bool renesas_sdhi_check_scc_error(struct tmio_mmc_host *host)I'd preffer simple "ret = true" here. Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 13/39] mmc: renesas_internal_dmac: add pre_req and post_req support
Pavel Machek
Hi!
commit 69e7d76afdb54243df957351804c0f1afca46d0f upstream. +/*"two different"? + /* This DMAC cannot handle if buffer is not 128-bytes alignment */"aligned"? Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 09/39] mmc: renesas_sdhi: sort includes
Pavel Machek
Hi!
From: Wolfram Sang <wsa+renesas@...> +++ b/drivers/mmc/host/renesas_sdhi_core.cIn these cases we usually sort be include length, first ("reverse xmass tree"). Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 04/39] mmc: renesas_sdhi: clear TAPEN when resetting, too
Pavel Machek
Hi!
From: Wolfram Sang <wsa+renesas@...> +++ b/drivers/mmc/host/renesas_sdhi_core.cHaving half of functions receive host, priv pointers and the other half receiving host->mmc pointer is not very nice. Is there some logic behind that / is it possible to somehow fix? Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC
Pavel Machek
Hi!
This patch series adds support for SD/eMMC on Renesas RZ/G2L SoC andI tried to apply the patches on top of 5.10.106-cip4, and could not. Can you double check series applies properly? 8bb6e30b765989a3c0924158316d689e16317cd1 CIP: Bump version suffix to -cip4 after merge from stable commit 66f600a7a5460b6acab5272ac9f54f842927a50d Merge tag 'v5.10.106' into linux-5.10.y-cip Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|
Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas RZ/G2L SoC
Pavel Machek
Hi!
This patch series adds support for SD/eMMC on Renesas RZ/G2L SoC andThanks for the series. Review did not find anything that would prevent merge, so I'll proceed with testing. If it tests okay and there are no other comments, I'll likely apply the patches. Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
|
|