1. 29 Mar, 2020 1 commit
    • Hui Wang's avatar
      ALSA: hda/realtek - a fake key event is triggered by running shutup · 476c02e0
      Hui Wang authored
      On the Lenovo X1C7 machines, after we plug the headset, the rt_resume()
      and rt_suspend() of the codec driver will be called periodically, the
      driver can't stay in the rt_suspend state even users doen't use the
      sound card.
      
      Through debugging, I found  when running rt_suspend(), it will call
      alc225_shutup(), in this function, it will change 3k pull down control
      by alc_update_coef_idx(codec, 0x4a, 0, 3 << 10), this will trigger a
      fake key event and that event will resume the codec, when codec
      suspend agin, it will trigger the fake key event one more time, this
      process will repeat.
      
      If disable the key event before changing the pull down control, it
      will not trigger fake key event. It also needs to restore the pull
      down control and re-enable the key event, otherwise the system can't
      get key event when codec is in rt_suspend state.
      
      Also move some functions ahead of alc225_shutup(), this can save the
      function declaration.
      
      Fixes: 76f7dec0 (ALSA: hda/realtek - Add Headset Button supported for ThinkPad X1)
      Cc: Kailang Yang <kailang@realtek.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
      Link: https://lore.kernel.org/r/20200329082018.20486-1-hui.wang@canonical.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      476c02e0
  2. 27 Mar, 2020 1 commit
  3. 19 Mar, 2020 1 commit
  4. 17 Mar, 2020 2 commits
  5. 16 Mar, 2020 2 commits
  6. 12 Mar, 2020 1 commit
  7. 11 Mar, 2020 1 commit
  8. 09 Mar, 2020 2 commits
  9. 07 Mar, 2020 1 commit
  10. 06 Mar, 2020 1 commit
  11. 05 Mar, 2020 5 commits
  12. 04 Mar, 2020 1 commit
    • Olivier Moysan's avatar
      ASoC: stm32: sai: manage rebind issue · 0d6defc7
      Olivier Moysan authored
      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
      with STM32 SAI driver.
      
      1) DMA channel is not requested:
      
      With the sound card rebind the simplified call sequence is:
      stm32_sai_sub_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 SAI driver, to change the call sequence as follows:
      stm32_sai_sub_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 SAI driver, to have the right sequence.
      Signed-off-by: default avatarOlivier Moysan <olivier.moysan@st.com>
      Message-Id: <20200304102406.8093-1-olivier.moysan@st.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      0d6defc7
  13. 03 Mar, 2020 2 commits
  14. 02 Mar, 2020 1 commit
  15. 28 Feb, 2020 2 commits
  16. 26 Feb, 2020 1 commit
  17. 24 Feb, 2020 2 commits
  18. 21 Feb, 2020 1 commit
  19. 20 Feb, 2020 2 commits
  20. 19 Feb, 2020 6 commits
  21. 18 Feb, 2020 4 commits