mbox series

[0/6] mmc: core: hs400(es) fix probe/init

Message ID 20201208061839.21163-1-chris.ruehl@gtsys.com.hk (mailing list archive)
Headers show
Series mmc: core: hs400(es) fix probe/init | expand

Message

Chris Ruehl Dec. 8, 2020, 6:18 a.m. UTC
Fix the probe if hs400-1_8v / hs400-1_2v is used in the
dts and mmc-hs400-enhanced-strobe isn't set.
That was the first attemped, but it turns out that some
more cleanups and simplifications can be done.

* move mmc_select_hs400() in between hs200 & hs400es (preparation)
* make mmc_select_hs400() independent and move it out
  of the hs200. Run hs400 tuning inside mmc_select_hs400();
* merge hs400 with hs400es function
* remove mmc_select_hs400es function 
* remove mmc_hs200_tuning()
* cleanup host->caps2 for hs400-1_8(2)v 


Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
---
Replace patch set [PATCH 0/3] mmc: core: hs400 fix probe

Comments

Chris Ruehl Dec. 12, 2020, 1:01 a.m. UTC | #1
No Comments ?

Chris

On 8/12/2020 2:18 pm, Chris Ruehl wrote:
> Fix the probe if hs400-1_8v / hs400-1_2v is used in the
> dts and mmc-hs400-enhanced-strobe isn't set.
> That was the first attemped, but it turns out that some
> more cleanups and simplifications can be done.
> 
> * move mmc_select_hs400() in between hs200 & hs400es (preparation)
> * make mmc_select_hs400() independent and move it out
>    of the hs200. Run hs400 tuning inside mmc_select_hs400();
> * merge hs400 with hs400es function
> * remove mmc_select_hs400es function
> * remove mmc_hs200_tuning()
> * cleanup host->caps2 for hs400-1_8(2)v
> 
> 
> Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
> ---
> Replace patch set [PATCH 0/3] mmc: core: hs400 fix probe
>
Ulf Hansson Jan. 22, 2021, 12:40 p.m. UTC | #2
+ Adrian

On Tue, 8 Dec 2020 at 07:19, Chris Ruehl <chris.ruehl@gtsys.com.hk> wrote:
>
> Fix the probe if hs400-1_8v / hs400-1_2v is used in the
> dts and mmc-hs400-enhanced-strobe isn't set.
> That was the first attemped, but it turns out that some
> more cleanups and simplifications can be done.

My apologies for the delay with reviewing. I have looped in Adrian as
well, as he might have some input to our discussion.

Before I go into doing a detailed review, I want to make sure I
understand the problem correctly.

Are you saying that switching to eMMC HS400 mode doesn't work, unless
the enhanced strobe is supported, no? Or is this a DT only related
problem?

In any case, the main point with mmc_hs400_to_hs200() is to prepare
for tuning to run in HS200 mode (it's getting called from
mmc_retune()). In other words, there *should* be no need to support
enhanced strobe to support hs400, but I might be missing something.

In particular, the following commit could be of interest for you:

6376f69d20a6905c1d83be451065f70200490b98
Author: Adrian Hunter <adrian.hunter@intel.com>
Date:   Thu May 7 13:10:20 2015 +0300
mmc: core: Add support for HS400 re-tuning

>
> * move mmc_select_hs400() in between hs200 & hs400es (preparation)
> * make mmc_select_hs400() independent and move it out
>   of the hs200. Run hs400 tuning inside mmc_select_hs400();
> * merge hs400 with hs400es function
> * remove mmc_select_hs400es function
> * remove mmc_hs200_tuning()
> * cleanup host->caps2 for hs400-1_8(2)v
>
>
> Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
> ---
> Replace patch set [PATCH 0/3] mmc: core: hs400 fix probe

Kind regards
Uffe