mbox series

[RFT,0/6] mmc: refactor reset callbacks

Message ID 20200820132538.24758-1-wsa+renesas@sang-engineering.com (mailing list archive)
Headers show
Series mmc: refactor reset callbacks | expand

Message

Wolfram Sang Aug. 20, 2020, 1:25 p.m. UTC
While debugging something else, I noticed that the SDHI driver
doesn't use the 'hw_reset' callback as intended. It was used to reset
the tuning block but not the remote card via RSTn.

So, this patch series fixes it by moving stuff to the reset callback. In
addition, calls within the TMIO core are converted to 'reset' and the
'hw_reset' callback is only used by the MMC core now.

This allow for further cleanups which make the code a tad smaller and
much more readable.

I did some testing here, and tuning etc... still works, no regressions,
both with eMMC and SDXC. I send this out as RFT because I want to give
our BSP team also a chance to test more advanced cases. Also, I will be
thinking of more ways to verify this all is correct. A branch for
testing can be found here:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/sdhi/refactor_hw_reset

The branch is based on top of v5.9-rc1.

Looking forward to comments!

Happy hacking,

   Wolfram


Wolfram Sang (6):
  mmc: renesas_sdhi: move wrong 'hw_reset' to 'reset'
  Revert "mmc: tmio: fix reset operation"
  mmc: tmio: remove indirection of 'hw_reset' callback
  mmc: tmio: factor out common parts of the reset routine
  mmc: tmio: don't reset whole IP core when tuning fails
  mmc: tmio: remove indirection of 'execute_tuning' callback

 drivers/mmc/host/renesas_sdhi_core.c | 58 ++++++++++++++--------------
 drivers/mmc/host/tmio_mmc.c          |  8 ----
 drivers/mmc/host/tmio_mmc.h          |  7 ----
 drivers/mmc/host/tmio_mmc_core.c     | 45 ++++-----------------
 drivers/mmc/host/uniphier-sd.c       |  5 ++-
 5 files changed, 39 insertions(+), 84 deletions(-)

Comments

Ulf Hansson Aug. 28, 2020, 8:44 a.m. UTC | #1
On Thu, 20 Aug 2020 at 15:26, Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
>
> While debugging something else, I noticed that the SDHI driver
> doesn't use the 'hw_reset' callback as intended. It was used to reset
> the tuning block but not the remote card via RSTn.
>
> So, this patch series fixes it by moving stuff to the reset callback. In
> addition, calls within the TMIO core are converted to 'reset' and the
> 'hw_reset' callback is only used by the MMC core now.
>
> This allow for further cleanups which make the code a tad smaller and
> much more readable.
>
> I did some testing here, and tuning etc... still works, no regressions,
> both with eMMC and SDXC. I send this out as RFT because I want to give
> our BSP team also a chance to test more advanced cases. Also, I will be
> thinking of more ways to verify this all is correct. A branch for
> testing can be found here:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/sdhi/refactor_hw_reset
>
> The branch is based on top of v5.9-rc1.
>
> Looking forward to comments!
>
> Happy hacking,
>
>    Wolfram
>
>
> Wolfram Sang (6):
>   mmc: renesas_sdhi: move wrong 'hw_reset' to 'reset'
>   Revert "mmc: tmio: fix reset operation"
>   mmc: tmio: remove indirection of 'hw_reset' callback
>   mmc: tmio: factor out common parts of the reset routine
>   mmc: tmio: don't reset whole IP core when tuning fails
>   mmc: tmio: remove indirection of 'execute_tuning' callback
>
>  drivers/mmc/host/renesas_sdhi_core.c | 58 ++++++++++++++--------------
>  drivers/mmc/host/tmio_mmc.c          |  8 ----
>  drivers/mmc/host/tmio_mmc.h          |  7 ----
>  drivers/mmc/host/tmio_mmc_core.c     | 45 ++++-----------------
>  drivers/mmc/host/uniphier-sd.c       |  5 ++-
>  5 files changed, 39 insertions(+), 84 deletions(-)
>
> --
> 2.20.1
>

Applied for next, also adding the tested-by tag from Shimoda-san to
all the patches, thanks!

Kind regards
Uffe