1. 25 Jan, 2017 1 commit
    • Jerome Anand's avatar
      ALSA: add Intel HDMI LPE audio driver for BYT/CHT-T · 287599cf
      Jerome Anand authored
      On Baytrail and Cherrytrail, HDaudio may be fused out or disabled
      by the BIOS. This driver enables an alternate path to the i915
      display registers and DMA.
      
      Although there is no hardware path between i915 display and LPE/SST
      audio clusters, this HDMI capability is referred to in the documentation
      as "HDMI LPE Audio" so we keep the name for consistency. There is no
      hardware path or control dependencies with the LPE/SST DSP functionality.
      
      The hdmi-lpe-audio driver will be probed when the i915 driver creates
      a child platform device.
      
      Since this driver is neither SoC nor PCI, a new x86 folder is added
      Additional indirections in the code will be cleaned up in the next series
      to aid smoother DP integration
      Signed-off-by: Pierre Bossart's avatarPierre-Louis Bossart <[email protected]>
      Signed-off-by: default avatarJerome Anand <[email protected]>
      Signed-off-by: default avatarTakashi Iwai <[email protected]>
      287599cf
  2. 10 Jan, 2017 1 commit
  3. 09 Jan, 2017 1 commit
  4. 06 Jan, 2017 2 commits
  5. 05 Jan, 2017 4 commits
    • Pierre Bossart's avatar
      ASoC: Intel: bytcr-rt5640: fix settings in internal clock mode · 60448b07
      Pierre Bossart authored
      Frequency value of zero did not make sense, use same 24.576MHz
      setting and only change the clock source in idle mode
      Suggested-by: default avatarBard Liao <[email protected]>
      Signed-off-by: Pierre Bossart's avatarPierre-Louis Bossart <[email protected]>
      Signed-off-by: default avatarMark Brown <[email protected]>
      60448b07
    • 坂本 貴史's avatar
      Revert "ALSA: firewire-lib: change structure member with proper type" · e4f34cf6
      坂本 貴史 authored
      This reverts commit 6b7e95d1. This commit
      is based on a concern about value of the given parameter. It's expected
      to be ORed value with some enumeration-constants, thus often it can not be
      one of the enumeration-constants. I understood that this is out of
      specification and causes implementation-dependent issues.
      
      In C language specification, enumerated type can be interpreted as an
      integer type, in which all of enumeration-constants in corresponding
      enumerator-list can be stored. Implementations can select one of char,
      signed int and unsigned int as its type, and this selection is
      implementation-dependent.
      
      In GCC, a signed integer is selected when at least one of
      enumeration-constants has negative value, else an unsigned integer is
      selected. This behaviour can be switched by -fshort-enums to short type.
      Anyway, the type can be decided after scanning all of
      enumeration-constants.
      
      Totally, there's no rules to constrain the value of enumerated type to
      be one of enumeration-constants. In short, in enumerated type, decision
      of actual type for the type is the most important and
      enumeration-constants are just used for the decision, thus it's permitted
      to have an integer value in a range of enumeration-constants. In our case,
      actual type for the type is currently deterministic to be either char or
      unsigned int. Under GCC, it's unsigned int.
      Signed-off-by: 坂本 貴史's avatarTakashi Sakamoto <[email protected]>
      Signed-off-by: default avatarTakashi Iwai <[email protected]>
      e4f34cf6
    • Adi's avatar
      ALSA: usb-audio: test EP_FLAG_RUNNING at urb completion · 13a6c832
      Adi authored
      Testing EP_FLAG_RUNNING in snd_complete_urb() before running the completion
      logic allows us to save a few cpu cycles by returning early, skipping the
      pending urb in case the stream was stopped; the stop logic handles the urb
      and sets the completion callbacks to NULL.
      Signed-off-by: Adi's avatarIoan-Adrian Ratiu <[email protected]>
      Signed-off-by: default avatarTakashi Iwai <[email protected]>
      13a6c832
    • Adi's avatar
      ALSA: usb-audio: Fix irq/process data synchronization · 1d0f9530
      Adi authored
      Commit 16200948 ("ALSA: usb-audio: Fix race at stopping the stream") was
      incomplete causing another more severe kernel panic, so it got reverted.
      This fixes both the original problem and its fallout kernel race/crash.
      
      The original fix is to move the endpoint member NULL clearing logic inside
      wait_clear_urbs() so the irq triggering the urb completion doesn't call
      retire_capture/playback_urb() after the NULL clearing and generate a panic.
      
      However this creates a new race between snd_usb_endpoint_start()'s call
      to wait_clear_urbs() and the irq urb completion handler which again calls
      retire_capture/playback_urb() leading to a new NULL dereference.
      
      We keep the EP deactivation code in snd_usb_endpoint_start() because
      removing it will break the EP reference counting (see [1] [2] for info),
      however we don't need the "can_sleep" mechanism anymore because a new
      function was introduced (snd_usb_endpoint_sync_pending_stop()) which
      synchronizes pending stops and gets called inside the pcm prepare callback.
      
      It also makes sense to remove can_sleep because it was also removed from
      deactivate_urbs() signature in [3] so we benefit from more simplification.
      
      [1] commit 015618b9 ("ALSA: snd-usb: Fix URB cancellation at stream start")
      [2] commit e9ba389c ("ALSA: usb-audio: Fix scheduling-while-atomic bug in PCM capture stream")
      [3] commit ccc1696d ("ALSA: usb-audio: simplify endpoint deactivation code")
      
      Fixes: f8114f85 ("Revert "ALSA: usb-audio: Fix race at stopping the stream"")
      Signed-off-by: Adi's avatarIoan-Adrian Ratiu <[email protected]>
      Signed-off-by: default avatarTakashi Iwai <[email protected]>
      1d0f9530
  6. 04 Jan, 2017 3 commits
  7. 03 Jan, 2017 3 commits
  8. 31 Dec, 2016 5 commits
  9. 25 Dec, 2016 3 commits
  10. 24 Dec, 2016 1 commit
  11. 21 Dec, 2016 1 commit
  12. 20 Dec, 2016 1 commit
  13. 19 Dec, 2016 1 commit
    • Pierre Bossart's avatar
      ASoC: Intel: bytcr_rt5640: fallback mechanism if MCLK is not enabled · 4a8b3a68
      Pierre Bossart authored
      Commit df1a2776 ("ASoC: Intel: bytcr_rt5640: add MCLK support")
      was merged but the corresponding clock framework patches have not,
      after being bumped from audio to clock to x86 domains. The missing
      clock-related patches result in a regression starting with 4.9 with
      the audio card not being created.
      
      Rather than reverting this commit and all following updates already
      queued up for 4.10, handle run-time dependency on MCLK and fall back
      to the previous bit-clock mode. This provides the same functionality
      as in 4.8 for Baytrail devices. On Baytrail-CR most devices remain
      silent with this fallback but additional patches are needed anyway.
      As suggested by Mark Brown, the fallback is only allowed with -ENOENT,
      all other run-time errors, including -EPROBE_DEFER, will stop the probe
      with no sound card registered.
      
      This patch should be applied to -stable as well as ASoC 4.10 fixes
      Signed-off-by: Pierre Bossart's avatarPierre-Louis Bossart <[email protected]>
      Signed-off-by: default avatarMark Brown <[email protected]>
      4a8b3a68
  14. 15 Dec, 2016 2 commits
  15. 14 Dec, 2016 1 commit
    • Jose Abreu's avatar
      ASoC: dwc: Fix PIO mode initialization · 6fce983f
      Jose Abreu authored
      We can no longer rely on the return value of
      devm_snd_dmaengine_pcm_register(...) to check if the DMA
      handle is declared in the DT.
      
      Previously this check activated PIO mode but currently
      dma_request_chan returns either a valid channel or -EPROBE_DEFER.
      
      In order to activate PIO mode check instead if the interrupt
      line is declared. This reflects better what is documented in
      the DT bindings (see Documentation/devicetree/bindings/sound/
      designware-i2s.txt).
      
      Also, initialize use_pio variable which was never being set
      causing PIO mode to never work.
      Signed-off-by: default avatarJose Abreu <[email protected]>
      Signed-off-by: default avatarMark Brown <[email protected]>
      6fce983f
  16. 13 Dec, 2016 1 commit
  17. 12 Dec, 2016 5 commits
  18. 09 Dec, 2016 2 commits
  19. 08 Dec, 2016 2 commits