1. 08 Feb, 2019 6 commits
  2. 07 Feb, 2019 16 commits
  3. 06 Feb, 2019 10 commits
  4. 04 Feb, 2019 5 commits
  5. 02 Feb, 2019 3 commits
    • Zhiwei Jiang's avatar
      ASoC: dapm: Add warnings for widget overwrite when adding route · 411db2ab
      Zhiwei Jiang authored
      Currently, in some complex cases, more than one widgets have same
      name and registed from differnt dapm context, and route add from
      another context too. When snd_soc_dapm_add_route, the previous
      registered widget will overwritten by the latest same name widget,
      will cause unexpect error. For Asoc framework we cant avoid this
      situation and we cant decide which widget that wanted with route.
      At least we can give users a notice.
      Signed-off-by: default avatarZhiwei Jiang <qq282012236@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      411db2ab
    • Charles Keepax's avatar
      ASoC: dapm: Only power up active channels from a DAI · 078a85f2
      Charles Keepax authored
      Currently all widgets attached to a DAI link will be powered
      up when the DAI is active, however this may include routes
      that are not actually in use if there are unused channels
      available on the DAI.
      
      The macros for creating AIF widgets already include an entry for
      slot, it is proposed to change that to channel. The effective
      difference here being respresenting the logical channel index
      rather than the physical slot index. The CODECs currently
      using the slot entry on the DAPM_AIF macros are using it in
      a manner consistent with this, the CODECs not using it just
      have the field set to zero.
      
      A variable is added to snd_soc_dapm_widget to represent
      this channel index and then for each AIF widget attached to
      a DAI this is compared against the number of channels on
      the stream. Enabling the links for those which will be in
      use. This has the nice property that the CODECs which haven't
      used the slot/channel entry in the macro will function exactly
      as before due to all the AIF widgets having a channel of zero
      and a stream by definition having at least one channel.
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      078a85f2
    • Guennadi Liakhovetski's avatar
      ASoC: topology: fix oops/use-after-free case with dai driver · 52abe6cc
      Guennadi Liakhovetski authored
      rmmod/modprobe tests expose a kernel oops when accessing the dai
      driver pointer. This comes from the topology design which operates in
      multiple passes. Each object removal happens at a specific iteration,
      and the code checks for the iteration (order) number after the memory
      containing the order was freed.
      
      Fix this be clearing a reference to the dai driver and check its
      validity to avoid dereferences.
      Signed-off-by: default avatarGuennadi Liakhovetski <guennadi.liakhovetski@intel.com>
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      52abe6cc