1. 08 Aug, 2018 2 commits
  2. 06 Aug, 2018 4 commits
  3. 05 Aug, 2018 1 commit
  4. 04 Aug, 2018 2 commits
  5. 03 Aug, 2018 11 commits
  6. 02 Aug, 2018 2 commits
  7. 01 Aug, 2018 13 commits
  8. 31 Jul, 2018 4 commits
    • Jorge Sanjuan's avatar
      ALSA: usb-audio: Operate UAC3 Power Domains in PCM callbacks · a0a4959e
      Jorge Sanjuan authored
      Make use of UAC3 Power Domains associated to an Audio Streaming
      path within the PCM's logic. This means, when there is no audio
      being transferred (pcm is closed), the host will set the Power Domain
      associated to that substream to state D1. When audio is being transferred
      (from hw_params onwards), the Power Domain will be set to D0 state.
      
      This is the way the host lets the device know which Terminal
      is going to be actively used and it is for the device to
      manage its own internal resources on that UAC3 Power Domain.
      
      Note the resume method now sets the Power Domain to D1 state as
      resuming the device doesn't mean audio streaming will occur.
      Signed-off-by: default avatarJorge Sanjuan <jorge.sanjuan@codethink.co.uk>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a0a4959e
    • Jorge Sanjuan's avatar
      ALSA: usb-audio: Add UAC3 Power Domains to suspend/resume · 3f59aa11
      Jorge Sanjuan authored
      Set the UAC3 Power Domain state for an Audio Streaming interface
      to D2 state before suspending the device (usb_driver callback).
      This lets the device know there is no intention to use any of the
      Units in the Audio Function and that the host is not going to
      even listen for wake-up events (interrupts) on the units.
      
      When the usb_driver gets resumed, the state D0 (fully powered) will
      be set. This ties up the UAC3 Power Domains to the runtime PM.
      Signed-off-by: default avatarJorge Sanjuan <jorge.sanjuan@codethink.co.uk>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3f59aa11
    • Jorge Sanjuan's avatar
      ALSA: usb-audio: AudioStreaming Power Domain parsing · 7edf3b5e
      Jorge Sanjuan authored
      Power Domains in the UAC3 spec are mainly intended to be
      associated to an Input or Output Terminal so the host
      changes the power state of the entire capture or playback
      path within the topology.
      
      This patch adds support for finding Power Domains associated
      to an Audio Streaming Interface (bTerminalLink) and adds a
      reference to them in the usb audio substreams (snd_usb_substream).
      Signed-off-by: default avatarJorge Sanjuan <jorge.sanjuan@codethink.co.uk>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7edf3b5e
    • Jorge Sanjuan's avatar
      ALSA: usb-audio: Initial Power Domain support · 11785ef5
      Jorge Sanjuan authored
      Thee USB Audio Class 3 (UAC3) introduces Power Domains as a new
      feature to let a host turn individual parts of an audio function
      to different power states via USB requests. This lets the device
      get to know a bit amore about what the host is up to in order to
      optimize power consumption efficiently.
      
      The Power Domains are optional for UAC3 configuration but all
      UAC3 devices shall include at least one BADD configuration where
      the support for Power Domains is compulsory.
      
      This patch adds a set of features/helpers to parse these power
      domains and change their status.
      Signed-off-by: default avatarJorge Sanjuan <jorge.sanjuan@codethink.co.uk>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      11785ef5
  9. 30 Jul, 2018 1 commit