Date   

[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,

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 10:28
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas
RZ/G2L SoC

Hi!

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.
I tried to apply the patches on top of 5.10.106-cip4, and could not. Can
you double check series applies properly?
Sorry about that, I realized now I had missed a patch!

Will resend the series (with 40 patches).

Cheers,
Prabhakar

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 32/39] dt-bindings: Drop redundant minItems/maxItems

Lad Prabhakar
 

Hi Pavel,

Thank you for the review.

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 11:22
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 32/39] dt-bindings: Drop redundant
minItems/maxItems

Hi!

This condition is partially checked with the meta-schema already, but
only if both 'minItems' and 'maxItems' are equal to the 'items' length.
An improved meta-schema is pending.
Do we have the improved meta-scheme in 5.10.X? Are we actually running the
dts schema checks?
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,
Pavel

+++ b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
@@ -74,7 +74,6 @@ properties:

clock-names:
minItems: 1
- maxItems: 2
items:
- const: core
- const: cd
@@ -106,7 +105,6 @@ properties:

pinctrl-names:
minItems: 1
- maxItems: 2
items:
- const: default
- const: state_uhs
--
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

Lad Prabhakar
 

Hi Pavel,

Thank you for the review.

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 11:20
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 21/39] mmc: renesas_sdhi: do hard reset if
possible

Hi!

commit b4d86f37eacb724690d0d300576b82806bc743d5 upstream.

All recent SDHI instances can be reset via the reset controller. If
one is found, use it instead of the open coded reset. This is to get a
future-proof sane reset state.
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -1086,6 +1097,10 @@ int renesas_sdhi_probe(struct platform_device
*pdev,
if (ret)
goto efree;

+ priv->rstc = devm_reset_control_get_optional_exclusive(&pdev->dev,
NULL);
+ if (IS_ERR(priv->rstc))
+ return PTR_ERR(priv->rstc);
+
I believe this needs to goto to appropriate error path, not return
directly.
Yes you are right this needs to land into appropriate error path.

Cheers,
Prabhakar

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

Lad Prabhakar
 

Hi Pavel,

Thank you for the review.

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 11:19
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 15/39] mmc: renesas_sdhi: Add a condition
of cmd/data timeout for retune

Hi!

commit ed2fab9a8229cc70fe03032e48d0ec375df6013e upstream.

According to the datasheet, this controller needs retune when cmd or
data timeout happens. So, add a condition into .check_retune().
@@ -790,11 +792,19 @@ static bool renesas_sdhi_check_scc_error(struct
tmio_mmc_host *host)
if (mmc_doing_tune(host->mmc))
return false;

+ if (((mrq->cmd->error == -ETIMEDOUT) ||
+ (mrq->data && mrq->data->error == -ETIMEDOUT)) &&
+ ((host->mmc->caps & MMC_CAP_NONREMOVABLE) ||
+ (host->ops.get_cd && host->ops.get_cd(host->mmc))))
+ ret |= true;
I'd preffer simple "ret = true" here.
Agreed.

Cheers,
Prabhakar

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

Lad Prabhakar
 

Hi Pavel,

Thank you for the review.

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 11:16
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 13/39] mmc: renesas_internal_dmac: add
pre_req and post_req support

Hi!

commit 69e7d76afdb54243df957351804c0f1afca46d0f upstream.

Add pre_req and post_req support to improve performance.

Inspired by a patch in the BSP by Masaharu Hayakawa.
+/*
+ * renesas_sdhi_internal_dmac_map() will be called with two difference
"two different"?
Agreed.

+ /* This DMAC cannot handle if buffer is not 128-bytes alignment */
"aligned"?
Ditto.

Cheers,
Prabhakar

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

Lad Prabhakar
 

Hi Pavel,

Thank you for the review.

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 11:15
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 09/39] mmc: renesas_sdhi: sort includes

Hi!

From: Wolfram Sang <wsa+renesas@...>

commit ab07a1356043f07142ba351253904ef8c42ecd4f upstream.

Better prevent double includes.
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -18,22 +18,22 @@
*
*/

-#include <linux/kernel.h>
#include <linux/clk.h>
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/of_device.h>
-#include <linux/platform_device.h>
-#include <linux/pm_domain.h>
+#include <linux/delay.h>
+#include <linux/kernel.h>
+#include <linux/mfd/tmio.h>
#include <linux/mmc/host.h>
#include <linux/mmc/mmc.h>
#include <linux/mmc/slot-gpio.h>
-#include <linux/mfd/tmio.h>
-#include <linux/sh_dma.h>
-#include <linux/delay.h>
+#include <linux/module.h>
+#include <linux/of_device.h>
#include <linux/pinctrl/consumer.h>
#include <linux/pinctrl/pinctrl-state.h>
+#include <linux/platform_device.h>
+#include <linux/pm_domain.h>
#include <linux/regulator/consumer.h>
+#include <linux/sh_dma.h>
+#include <linux/slab.h>
#include <linux/sys_soc.h>

#include "renesas_sdhi.h"
In these cases we usually sort be include length, first ("reverse xmass
tree").
My understating was most subsystems prefer alphabetical.

Cheers,
Prabhakar

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

Lad Prabhakar
 

Hi Pavel,

Thank you for the review.

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 11:14
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 04/39] mmc: renesas_sdhi: clear TAPEN when
resetting, too

Hi!

From: Wolfram Sang <wsa+renesas@...>

commit 183edc060e6969a3afe83f663b534f6324fb7e3a upstream.

We want to clear TAPEN in a software reset, too, to have a completely
known state. Especially when we doing the initial reset during boot to
clear previous firmware states.
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -558,7 +558,7 @@ static void renesas_sdhi_reset(struct tmio_mmc_host
*host)
struct renesas_sdhi *priv = host_to_priv(host);

if (priv->scc_ctl) {
- renesas_sdhi_reset_scc(host, priv);
+ renesas_sdhi_disable_scc(host->mmc);
renesas_sdhi_reset_hs400_mode(host, priv);
priv->needs_adjust_hs400 = false;
Having 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?
That's because renesas_sdhi_disable_scc() needed only host->mmc pointer.

Cheers,
Prabhakar

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

Nobuhiro Iwamatsu
 

Hi all,

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: Thursday, March 31, 2022 9:49 PM
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: Pavel Machek <pavel@...>; cip-dev@...; iwamatsu
nobuhiro(岩松 信洋 □SWC◯ACT)
<nobuhiro1.iwamatsu@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas
RZ/G2L SoC

Hi!

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.
I tried to apply the patches on top of 5.10.106-cip4, and could not.
Can you double check series applies properly?
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?
I took patches from emails list, not from patchwork, so that should 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$
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!

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.
I tried to apply the patches on top of 5.10.106-cip4, and could not. Can
you double check series applies properly?
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?
I took patches from emails list, not from patchwork, so that should
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,

-----Original Message-----
From: Pavel Machek <pavel@...>
Sent: 31 March 2022 10:28
To: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...>
Cc: cip-dev@...; Nobuhiro Iwamatsu
<nobuhiro1.iwamatsu@...>; Pavel Machek <pavel@...>; Biju Das
<biju.das.jz@...>
Subject: Re: [PATCH 5.10.y-cip 00/39] Add SD/eMMC support for Renesas
RZ/G2L SoC

Hi!

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.
I tried to apply the patches on top of 5.10.106-cip4, and could not. Can
you double check series applies properly?
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
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 32/39] dt-bindings: Drop redundant minItems/maxItems

Pavel Machek
 

Hi!

This condition is partially checked with the meta-schema already, but
only if both 'minItems' and 'maxItems' are equal to the 'items' length.
An improved meta-schema is pending.
Do 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
@@ -74,7 +74,6 @@ properties:

clock-names:
minItems: 1
- maxItems: 2
items:
- const: core
- const: cd
@@ -106,7 +105,6 @@ properties:

pinctrl-names:
minItems: 1
- maxItems: 2
items:
- const: default
- const: state_uhs
--
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.

All recent SDHI instances can be reset via the reset controller. If one
is found, use it instead of the open coded reset. This is to get a
future-proof sane reset state.
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -1086,6 +1097,10 @@ int renesas_sdhi_probe(struct platform_device *pdev,
if (ret)
goto efree;

+ priv->rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
+ if (IS_ERR(priv->rstc))
+ return PTR_ERR(priv->rstc);
+
I 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.

According to the datasheet, this controller needs retune when
cmd or data timeout happens. So, add a condition into
.check_retune().
@@ -790,11 +792,19 @@ static bool renesas_sdhi_check_scc_error(struct tmio_mmc_host *host)
if (mmc_doing_tune(host->mmc))
return false;

+ if (((mrq->cmd->error == -ETIMEDOUT) ||
+ (mrq->data && mrq->data->error == -ETIMEDOUT)) &&
+ ((host->mmc->caps & MMC_CAP_NONREMOVABLE) ||
+ (host->ops.get_cd && host->ops.get_cd(host->mmc))))
+ ret |= true;
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.

Add pre_req and post_req support to improve performance.

Inspired by a patch in the BSP by Masaharu Hayakawa.
+/*
+ * renesas_sdhi_internal_dmac_map() will be called with two difference
"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@...>

commit ab07a1356043f07142ba351253904ef8c42ecd4f upstream.

Better prevent double includes.
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -18,22 +18,22 @@
*
*/

-#include <linux/kernel.h>
#include <linux/clk.h>
-#include <linux/slab.h>
-#include <linux/module.h>
-#include <linux/of_device.h>
-#include <linux/platform_device.h>
-#include <linux/pm_domain.h>
+#include <linux/delay.h>
+#include <linux/kernel.h>
+#include <linux/mfd/tmio.h>
#include <linux/mmc/host.h>
#include <linux/mmc/mmc.h>
#include <linux/mmc/slot-gpio.h>
-#include <linux/mfd/tmio.h>
-#include <linux/sh_dma.h>
-#include <linux/delay.h>
+#include <linux/module.h>
+#include <linux/of_device.h>
#include <linux/pinctrl/consumer.h>
#include <linux/pinctrl/pinctrl-state.h>
+#include <linux/platform_device.h>
+#include <linux/pm_domain.h>
#include <linux/regulator/consumer.h>
+#include <linux/sh_dma.h>
+#include <linux/slab.h>
#include <linux/sys_soc.h>

#include "renesas_sdhi.h"
In 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@...>

commit 183edc060e6969a3afe83f663b534f6324fb7e3a upstream.

We want to clear TAPEN in a software reset, too, to have a completely
known state. Especially when we doing the initial reset during boot to
clear previous firmware states.
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -558,7 +558,7 @@ static void renesas_sdhi_reset(struct tmio_mmc_host *host)
struct renesas_sdhi *priv = host_to_priv(host);

if (priv->scc_ctl) {
- renesas_sdhi_reset_scc(host, priv);
+ renesas_sdhi_disable_scc(host->mmc);
renesas_sdhi_reset_hs400_mode(host, priv);
priv->needs_adjust_hs400 = false;
Having 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 and
enables this interfaces on Renesas RZ/G2L SMARC EVK.

All the patches have been cherry picked from v5.17 release.
I 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 and
enables this interfaces on Renesas RZ/G2L SMARC EVK.

All the patches have been cherry picked from v5.17 release.
Thanks 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

1241 - 1260 of 9150