mbox series

[v3,0/6] Clock and reset improvements for Tegra ALSA drivers

Message ID 20210120003154.26749-1-digetx@gmail.com
Headers show
Series Clock and reset improvements for Tegra ALSA drivers | expand

Message

Dmitry Osipenko Jan. 20, 2021, 12:31 a.m. UTC
This series improves the handling of clock and reset controls of
NVIDA Tegra ALSA drivers. Tegra HDA and AHUB drivers aren't handling
resets properly, which needs to be fixed in order to unblock other patches
related to fixes of the reset controller driver since HDA/AHUB are bound
to fail once reset controller driver will be corrected. In particular ALSA
drivers are relying on implicit de-assertion of resets which is done by the
tegra-clk driver. It's not the business of the clk driver to touch resets
and we need to fix this because it breaks reset/clk programming sequences
of other Tegra drivers.

Changelog:

v3: - Reworked "hda/tegra: Reset hardware" and "ahub: Reset hardware properly"
      patches, they now use usleep + reset_deassert() instead of reset_reset().
      Suggested by Thierry Reding.

    - Added new patch "hda/tegra: Remove unnecessary null-check from
      hda_tegra_runtime_resume()". Suggested by Thierry Reding.

    - Replaced "ahub: Reset hardware properly" patch with "ahub: Add missing
      resets". Suggested by Thierry Reding.

    - Slightly improved commit messages.

    - Added acks from Thierry Reding.

v2: - Added regcache_sync() to the "ahub: Reset hardware properly" patch,
      which was missed by accident in v1.

    - Corrected typo in the format of the error message in "ahub: Use
      of_reset_control_array_get_exclusive()" patch by s/%p/%pe/.

Dmitry Osipenko (6):
  ALSA: hda/tegra: Use clk_bulk helpers
  ALSA: hda/tegra: Reset hardware
  ALSA: hda/tegra: Remove unnecessary null-check from
    hda_tegra_runtime_resume()
  ASoC: tegra: ahub: Add missing resets
  ASoC: tegra: ahub: Use clk_bulk helpers
  ASoC: tegra: ahub: Reset hardware properly

 sound/pci/hda/hda_tegra.c      | 90 ++++++++++++----------------------
 sound/soc/tegra/tegra30_ahub.c | 64 ++++++++++++++----------
 sound/soc/tegra/tegra30_ahub.h |  5 +-
 3 files changed, 72 insertions(+), 87 deletions(-)

Comments

Takashi Iwai Jan. 25, 2021, 3:18 p.m. UTC | #1
On Wed, 20 Jan 2021 01:31:48 +0100,
Dmitry Osipenko wrote:
> 
> This series improves the handling of clock and reset controls of
> NVIDA Tegra ALSA drivers. Tegra HDA and AHUB drivers aren't handling
> resets properly, which needs to be fixed in order to unblock other patches
> related to fixes of the reset controller driver since HDA/AHUB are bound
> to fail once reset controller driver will be corrected. In particular ALSA
> drivers are relying on implicit de-assertion of resets which is done by the
> tegra-clk driver. It's not the business of the clk driver to touch resets
> and we need to fix this because it breaks reset/clk programming sequences
> of other Tegra drivers.
> 
> Changelog:
> 
> v3: - Reworked "hda/tegra: Reset hardware" and "ahub: Reset hardware properly"
>       patches, they now use usleep + reset_deassert() instead of reset_reset().
>       Suggested by Thierry Reding.
> 
>     - Added new patch "hda/tegra: Remove unnecessary null-check from
>       hda_tegra_runtime_resume()". Suggested by Thierry Reding.
> 
>     - Replaced "ahub: Reset hardware properly" patch with "ahub: Add missing
>       resets". Suggested by Thierry Reding.
> 
>     - Slightly improved commit messages.
> 
>     - Added acks from Thierry Reding.
> 
> v2: - Added regcache_sync() to the "ahub: Reset hardware properly" patch,
>       which was missed by accident in v1.
> 
>     - Corrected typo in the format of the error message in "ahub: Use
>       of_reset_control_array_get_exclusive()" patch by s/%p/%pe/.
> 
> Dmitry Osipenko (6):
>   ALSA: hda/tegra: Use clk_bulk helpers
>   ALSA: hda/tegra: Reset hardware
>   ALSA: hda/tegra: Remove unnecessary null-check from
>     hda_tegra_runtime_resume()
>   ASoC: tegra: ahub: Add missing resets
>   ASoC: tegra: ahub: Use clk_bulk helpers
>   ASoC: tegra: ahub: Reset hardware properly

Mark, a half of the series are for ASoC.  Would you take those three,
or take the full patches or let me merge through my tree?


thanks,

Takashi

> 
>  sound/pci/hda/hda_tegra.c      | 90 ++++++++++++----------------------
>  sound/soc/tegra/tegra30_ahub.c | 64 ++++++++++++++----------
>  sound/soc/tegra/tegra30_ahub.h |  5 +-
>  3 files changed, 72 insertions(+), 87 deletions(-)
> 
> -- 
> 2.29.2
>
Mark Brown Jan. 25, 2021, 6:02 p.m. UTC | #2
On Wed, 20 Jan 2021 03:31:48 +0300, Dmitry Osipenko wrote:
> This series improves the handling of clock and reset controls of
> NVIDA Tegra ALSA drivers. Tegra HDA and AHUB drivers aren't handling
> resets properly, which needs to be fixed in order to unblock other patches
> related to fixes of the reset controller driver since HDA/AHUB are bound
> to fail once reset controller driver will be corrected. In particular ALSA
> drivers are relying on implicit de-assertion of resets which is done by the
> tegra-clk driver. It's not the business of the clk driver to touch resets
> and we need to fix this because it breaks reset/clk programming sequences
> of other Tegra drivers.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[4/6] ASoC: tegra: ahub: Add missing resets
      commit: 24a41a38dd2df065ee942221c2fae5e314770865
[5/6] ASoC: tegra: ahub: Use clk_bulk helpers
      commit: 6d8ac9b1dd2f138f4aa39008994600f561eeede8
[6/6] ASoC: tegra: ahub: Reset hardware properly
      commit: ed9ce1ed2239909c23d48c723c6549417c476246

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark