1. 27 Mar, 2020 2 commits
  2. 26 Mar, 2020 16 commits
  3. 25 Mar, 2020 1 commit
  4. 24 Mar, 2020 6 commits
  5. 23 Mar, 2020 7 commits
  6. 20 Mar, 2020 7 commits
  7. 18 Mar, 2020 1 commit
    • Mark Brown's avatar
      Merge series "ASoC: stm32: manage rebind issue" from Olivier Moysan <olivier.moysan@st.com>: · b4a56753
      Mark Brown authored
      This patchset corrects a rebind issue on STM32 SPDIFRX and I2S drivers.
      
      The same correction has already been applied for SAI driver:
      0d6defc7 ("ASoC: stm32: sai: manage rebind issue")
      
      The commit e894efef ("ASoC: core: add support to card rebind")
      allows to rebind the sound card after a rebind of one of its component.
      With this commit, the sound card is actually rebound,
      but may be no more functional.
      
      The following problems have been seen on STM32 drivers.
      
      1) DMA channel is not requested:
      
      With the sound card rebind the simplified call sequence is:
          probe
              snd_soc_register_component
                      snd_soc_try_rebind_card
                              snd_soc_instantiate_card
              devm_snd_dmaengine_pcm_register
      
      The problem occurs because the pcm must be registered,
      before snd_soc_instantiate_card() is called.
      
      Modify the driver, to change the call sequence as follows:
          probe
              devm_snd_dmaengine_pcm_register
              snd_soc_register_component
                      snd_soc_try_rebind_card
      
      2) DMA channel is not released:
      
      dma_release_channel() is not called when
      devm_dmaengine_pcm_release() is executed.
      This occurs because SND_DMAENGINE_PCM_DRV_NAME component,
      has already been released through devm_component_release().
      
      devm_dmaengine_pcm_release() should be called before
      devm_component_release() to avoid this problem.
      
      Call snd_dmaengine_pcm_unregister() and snd_soc_unregister_component()
      explicitly from the driver, to have the right sequence.
      
      Olivier Moysan (3):
        ASoC: stm32: spdifrx: fix regmap status check
        ASoC: stm32: spdifrx: manage rebind issue
        ASoC: stm32: i2s: manage rebind issue
      
       sound/soc/stm/stm32_i2s.c     | 40 ++++++++++++++++------
       sound/soc/stm/stm32_spdifrx.c | 64 +++++++++++++++++++----------------
       2 files changed, 63 insertions(+), 41 deletions(-)
      
      --
      2.17.1
      b4a56753