1. 22 10月, 2014 2 次提交
    • T
      ALSA: pcm: Disable mmap for known broken archs · 63825f3a
      Takashi Iwai 提交于
      Some architectures like PARISC is known not to support mmap properly
      with the DMA buffer, where dma_mmap_coherent() returns -EINVAL
      unconditionally.  From the API POV, we should rather drop the mmap
      support there and expose it before the user-space tries to call mmap.
      
      The patch contains again ugly ifdef's, unfortunately, as there is no
      global flag indicating this.  Once when such macro is defined, we can
      get rid of this instead.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      63825f3a
    • T
      ALSA: pcm: Remove arch-dependent mmap kludges · c37de55e
      Takashi Iwai 提交于
      Since we have consistently dma_mmap_coherent() for all architectures,
      the current ifdef and arch-specific codes in pcm core can be cleaned
      up gracefully.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c37de55e
  2. 21 10月, 2014 1 次提交
  3. 20 10月, 2014 5 次提交
  4. 19 10月, 2014 3 次提交
    • D
      ALSA: snd-usb: drop unused varible assigments · 49fd46d2
      Daniel Mack 提交于
      Don't assign 'len' in cases where we don't make use of the returned value.
      Signed-off-by: NDaniel Mack <daniel@zonque.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      49fd46d2
    • T
      Subject: ALSA: seq: Remove autoload locks in driver registration · d5129f33
      Takashi Iwai 提交于
      Since we're calling request_module() asynchronously now, we can get
      rid of the autoload lock in snd_seq_device_register_driver(), as well
      as in the snd-seq driver registration itself.  This enables the
      automatic loading of dependent sequencer modules, such as
      snd-seq-virmidi from snd-emu10k1-synth.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d5129f33
    • T
      ALSA: seq: bind seq driver automatically · 68ab6108
      Takashi Iwai 提交于
      Currently the sequencer module binding is performed independently from
      the card module itself.  The reason behind it is to keep the sequencer
      stuff optional and allow the system running without it (e.g. for using
      PCM or rawmidi only).  This works in most cases, but a remaining
      problem is that the binding isn't done automatically when a new driver
      module is probed.  Typically this becomes visible when a hotplug
      driver like usb audio is used.
      
      This patch tries to address this and other potential issues.  First,
      the seq-binder (seq_device.c) tries to load a missing driver module at
      creating a new device object.  This is done asynchronously in a workq
      for avoiding the deadlock (modprobe call in module init path).
      
      This action, however, should be enabled only when the sequencer stuff
      was already initialized, i.e. snd-seq module was already loaded.  For
      that, a new function, snd_seq_autoload_init() is introduced here; this
      clears the blocking of autoloading, and also tries to load all pending
      driver modules.
      Reported-by: NAdam Goode <agoode@chromium.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      68ab6108
  5. 18 10月, 2014 1 次提交
  6. 15 10月, 2014 4 次提交
  7. 14 10月, 2014 2 次提交
  8. 10 10月, 2014 1 次提交
  9. 08 10月, 2014 8 次提交
  10. 07 10月, 2014 8 次提交
  11. 05 10月, 2014 1 次提交
  12. 04 10月, 2014 2 次提交
  13. 03 10月, 2014 2 次提交
    • D
      ASoC: tlv320aic3x: fix PLL D configuration · 31d9f8fa
      Dmitry Lavnikevich 提交于
      Current caching implementation during regcache_sync() call bypasses
      all register writes of values that are already known as default
      (regmap reg_defaults). Same time in TLV320AIC3x codecs register 5
      (AIC3X_PLL_PROGC_REG) write should be immediately followed by register
      6 write (AIC3X_PLL_PROGD_REG) even if it was not changed. Otherwise
      both registers will not be written.
      
      This brings to issue that appears particulary in case of 44.1kHz
      playback with 19.2MHz master clock. In this case AIC3X_PLL_PROGC_REG
      is 0x6e while AIC3X_PLL_PROGD_REG is 0x0 (same as register
      default). Thus AIC3X_PLL_PROGC_REG also remains not written and we get
      wrong playback speed.
      
      In this patch snd_soc_read() is used to get cached pll values and
      snd_soc_write() (unlike regcache_sync() this function doesn't bypasses
      hardware default values) to write them to registers.
      Signed-off-by: NDmitry Lavnikevich <d.lavnikevich@sam-solutions.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      31d9f8fa
    • J
      ASoC: dapm: Fix NULL pointer dereference when registering card with widgets · b2d9de54
      Jarkko Nikula 提交于
      Commit 0bd2ac3d ("ASoC: Remove CODEC pointer from snd_soc_dapm_context")
      introduced regression to snd_soc_dapm_new_controls() when registering a card
      with card->dapm_widgets set. Call chain is:
      
          snd_soc_register_card()
          -> snd_soc_instantiate_card()
             -> snd_soc_dapm_new_controls()
                -> snd_soc_dapm_new_control()
      
      Null pointer dereference occurs since card->dapm context doesn't have
      associated component. Fix this by setting widget codec pointer
      conditionally.
      Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      Acked-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b2d9de54
反馈
建议
客服 返回
顶部