mbox series

[v7,0/7] Fix timeout clock used by hardware data timeout

Message ID 1598548861-32373-1-git-send-email-skomatineni@nvidia.com (mailing list archive)
Headers show
Series Fix timeout clock used by hardware data timeout | expand

Message

Sowjanya Komatineni Aug. 27, 2020, 5:20 p.m. UTC
Tegra210/Tegra186/Tegra194 has incorrectly enabled
SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK from the beginning of their support.

Tegra210 and later SDMMC hardware default uses sdmmc_legacy_tm (TMCLK)
all the time for hardware data timeout instead of SDCLK and this TMCLK
need to be kept enabled by Tegra sdmmc driver.

This series includes patches to fix this for Tegra210/Tegra186/Tegra194.

These patches need to be manually backported to 4.19.

Will send patches for 4.19 backport separately.

Delta between patch versions:
[v7]:	v7 has below change
	- v6 has implementation for retrieving tmclk irrespective of
	  clocks order. But based in internal discussion with Thierry
	  this is not required as typically order specified in DT
	  bindings is the order validator want to see in DT.

[v6]:	v5 is sent out mistakenly with incorrect patches.
	v6 includes proper patches addressing v4 feedback
	- updated dt-binding doc to be more clear
	- updated Tegra sdhci driver to retrieve sdhci and tmclk clocks
	  based on no. of clocks in sdhci device node as old device trees
	  do not use sdhci clock name and this allows proper clock retrival
	  irrespective of sdhci and tmclk clocks order in device tree.	  
	- Added separate quirk for identifying SoC's supporting separate
	  timeout clock to be more clear.

[v5]:	Include below changes based on v4 feedback
	- updated dt-binding doc to be more clear
	- updated Tegra sdhci driver to retrieve sdhci and tmclk clocks
	  based on no. of clocks in sdhci device node as old device trees
	  do not use sdhci clock name and this allows proper clock retrival
	  irrespective of sdhci and tmclk clocks order in device tree.	  
	- Added separate quirk for identifying SoC's supporting separate
	  timeout clock to be more clear.

[v4]:	Include additional dt-binding patch

[v3]:	Same as v2 with fixes tag

[v2]:	Includes minor fix
	- Patch-0006: parentheses around operand of '!'

Sowjanya Komatineni (7):
  sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210
  sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186
  dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later
  arm64: tegra: Add missing timeout clock to Tegra210 SDMMC
  arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes
  arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes
  sdhci: tegra: Add missing TMCLK for data timeout

 .../bindings/mmc/nvidia,tegra20-sdhci.txt          | 32 +++++++++++--
 arch/arm64/boot/dts/nvidia/tegra186.dtsi           | 20 ++++----
 arch/arm64/boot/dts/nvidia/tegra194.dtsi           | 15 +++---
 arch/arm64/boot/dts/nvidia/tegra210.dtsi           | 20 ++++----
 drivers/mmc/host/sdhci-tegra.c                     | 55 ++++++++++++++++++++--
 5 files changed, 113 insertions(+), 29 deletions(-)

Comments

Ulf Hansson Aug. 28, 2020, 8:44 a.m. UTC | #1
On Thu, 27 Aug 2020 at 19:21, Sowjanya Komatineni
<skomatineni@nvidia.com> wrote:
>
> Tegra210/Tegra186/Tegra194 has incorrectly enabled
> SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK from the beginning of their support.
>
> Tegra210 and later SDMMC hardware default uses sdmmc_legacy_tm (TMCLK)
> all the time for hardware data timeout instead of SDCLK and this TMCLK
> need to be kept enabled by Tegra sdmmc driver.
>
> This series includes patches to fix this for Tegra210/Tegra186/Tegra194.
>
> These patches need to be manually backported to 4.19.
>
> Will send patches for 4.19 backport separately.
>
> Delta between patch versions:
> [v7]:   v7 has below change
>         - v6 has implementation for retrieving tmclk irrespective of
>           clocks order. But based in internal discussion with Thierry
>           this is not required as typically order specified in DT
>           bindings is the order validator want to see in DT.
>
> [v6]:   v5 is sent out mistakenly with incorrect patches.
>         v6 includes proper patches addressing v4 feedback
>         - updated dt-binding doc to be more clear
>         - updated Tegra sdhci driver to retrieve sdhci and tmclk clocks
>           based on no. of clocks in sdhci device node as old device trees
>           do not use sdhci clock name and this allows proper clock retrival
>           irrespective of sdhci and tmclk clocks order in device tree.
>         - Added separate quirk for identifying SoC's supporting separate
>           timeout clock to be more clear.
>
> [v5]:   Include below changes based on v4 feedback
>         - updated dt-binding doc to be more clear
>         - updated Tegra sdhci driver to retrieve sdhci and tmclk clocks
>           based on no. of clocks in sdhci device node as old device trees
>           do not use sdhci clock name and this allows proper clock retrival
>           irrespective of sdhci and tmclk clocks order in device tree.
>         - Added separate quirk for identifying SoC's supporting separate
>           timeout clock to be more clear.
>
> [v4]:   Include additional dt-binding patch
>
> [v3]:   Same as v2 with fixes tag
>
> [v2]:   Includes minor fix
>         - Patch-0006: parentheses around operand of '!'
>
> Sowjanya Komatineni (7):
>   sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210
>   sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186
>   dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later
>   arm64: tegra: Add missing timeout clock to Tegra210 SDMMC
>   arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes
>   arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes
>   sdhci: tegra: Add missing TMCLK for data timeout
>
>  .../bindings/mmc/nvidia,tegra20-sdhci.txt          | 32 +++++++++++--
>  arch/arm64/boot/dts/nvidia/tegra186.dtsi           | 20 ++++----
>  arch/arm64/boot/dts/nvidia/tegra194.dtsi           | 15 +++---
>  arch/arm64/boot/dts/nvidia/tegra210.dtsi           | 20 ++++----
>  drivers/mmc/host/sdhci-tegra.c                     | 55 ++++++++++++++++++++--
>  5 files changed, 113 insertions(+), 29 deletions(-)
>
> --
> 2.7.4
>

Applied for fixes, thanks!

Kind regards
Uffe