1. 28 5月, 2019 2 次提交
    • R
      ASoC: SOF: core: remove DSP after unregistering machine driver · b85459aa
      Ranjani Sridharan 提交于
      snd_sof_remove() disables the DSP and unmaps the DSP BAR.
      Removing topology after disabling the DSP results in a
      kernel panic while unloading the pipeline widget. This is
      because pipeline widget unload attempts to power down
      the core it is scheduled on by accessing the DSP registers.
      
      So, the suggested fix here is to unregister the machine driver
      first to remove the topology and then disable the DSP
      to avoid the situation described above.
      
      Note that the kernel panic only happens in cases where the
      HDaudio link is not managed by the hdac library,
      e.g. no codec or when HDMI is not supported.
      When the hdac library is used, snd_sof_remove() calls
      snd_hdac_ext_bus_device_remove() to remove the codec which
      unregisters the component driver thereby also removing the
      topology before the DSP is disabled.
      
      Fixes: c16211d6 ("ASoC: SOF: Add Sound Open Firmware driver core")
      Reviewed-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com>
      Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b85459aa
    • K
      ASoC: soc-core: fixup references at soc_cleanup_card_resources() · 29040d1a
      Kuninori Morimoto 提交于
      commit 53e947a0 ("ASoC: soc-core: merge card resources cleanup
      method") merged cleanup method of snd_soc_instantiate_card() and
      soc_cleanup_card_resources().
      
      But, after this commit, if user uses unbind/bind to Component factor
      drivers, Kernel might indicates refcount error at
      soc_cleanup_card_resources().
      
      The 1st reason is card->snd_card is still exist even though
      snd_card_free() was called, but it is already cleaned.
      We need to set NULL to it.
      
      2nd is card->dapm and card create debugfs, but its dentry is still
      exist even though it was removed. We need to set NULL to it.
      
      Fixes: 53e947a0 ("ASoC: soc-core: merge card resources cleanup method")
      Cc: stable@vger.kernel.org # for v5.1
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      29040d1a
  2. 24 5月, 2019 2 次提交
    • R
      ASoC: core: lock client_mutex while removing link components · 34ac3c3e
      Ranjani Sridharan 提交于
      Removing link components results in topology unloading. So,
      acquire the client_mutex before removing components in
      soc_remove_link_components. This will prevent the lockdep warning
      seen when dai links are removed during topology removal.
      Signed-off-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      34ac3c3e
    • J
      ASoC: simple-card: Restore original configuration of DAI format · 4819d062
      Jon Hunter 提交于
      Revert commit 069d037a ("ASoC: simple-card: Fix configuration of
      DAI format"). During further review, it turns out that the actual issue
      was caused by an incorrectly formatted device-tree node describing the
      soundcard.
      
      The following is incorrect because the simple-audio-card
      'bitclock-master' and 'frame-master' properties should not reference the
      actual codec phandle ...
      
      	sound {
      		compatible = "simple-audio-card";
      		...
      	=>	simple-audio-card,bitclock-master = <&codec>;
      	=>	simple-audio-card,frame-master = <&codec>;
      		...
      
      		simple-audio-card,cpu {
      			sound-dai = <&xxx>;
      		};
      
      		simple-audio-card,codec {
      	=>		sound-dai = <&codec>;
      		};
      	};
      
      Rather, these properties should reference the phandle to the
      'simple-audio-card,codec' property as shown below ...
      
      	sound {
      		compatible = "simple-audio-card";
      		...
      	=>	simple-audio-card,bitclock-master = <&codec>;
      	=>	simple-audio-card,frame-master = <&codec>;
      		...
      
      		simple-audio-card,cpu {
      			sound-dai = <&xxx>;
      		};
      
      	=>	codec: simple-audio-card,codec { /* simple-card wants here */
      			sound-dai = <&xxx>;	 /* not here */
      		};
      	};
      Signed-off-by: NJon Hunter <jonathanh@nvidia.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      4819d062
  3. 22 5月, 2019 2 次提交
  4. 20 5月, 2019 4 次提交
  5. 17 5月, 2019 1 次提交
  6. 16 5月, 2019 1 次提交
  7. 13 5月, 2019 7 次提交
  8. 09 5月, 2019 1 次提交
    • T
      ASoC: SOF: Fix unused variable warnings · 7f6647ce
      Takashi Iwai 提交于
      The recent fix for the build fix caused a couple of unused variable
      compiler warnings when CONFIG_SND_SOC_SOF_NOCODEC isn't set:
        sound/soc/sof/core.c:263:6: warning: unused variable ‘ret’ [-Wunused-variable]
        sound/soc/sof/core.c:262:28: warning: unused variable ‘machine’ [-Wunused-variable]
      
      Fix them by adding another ifdef.
      
      Fixes: ce38a750 ("ASoC: SOF: core: fix undefined nocodec reference")
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      7f6647ce
  9. 08 5月, 2019 8 次提交
  10. 07 5月, 2019 4 次提交
  11. 06 5月, 2019 5 次提交
  12. 03 5月, 2019 3 次提交