1. 18 Jan, 2021 5 commits
    • Olivia Mackintosh's avatar
      ALSA: usb-audio: Add support for Pioneer DJM-750 · b952ac76
      Olivia Mackintosh authored
      This adds the Pioneer DJ DJM-750 to the quirks table and ensures
      skip_pioneer_sync_ep() is (also) called: this device uses the vendor
      ID of 0x08e4 (I'm not sure why they use multiple vendor IDs but many
      just like to be awkward it seems).
      
      Playback on all 8 channels works. I'll likely keep this working in the
      future and submit futher patches and improvements as necessary.
      Signed-off-by: default avatarOlivia Mackintosh <livvy@base.nu>
      Link: https://lore.kernel.org/r/20210118130621.77miiie47wp7mump@base.nuSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b952ac76
    • Takashi Iwai's avatar
      Merge branch 'for-linus' into for-next · c09e28cd
      Takashi Iwai authored
      Back-merge of 5.11 devel branch for more works on USB-audio.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c09e28cd
    • Takashi Iwai's avatar
      ALSA: usb-audio: Avoid implicit feedback on Pioneer devices · 532a208a
      Takashi Iwai authored
      For addressing the regression on Pioneer devices, we recently
      corrected the quirk code to enable the implicit feedback mode on those
      devices properly.  However, the devices still showed problems with the
      full duplex operations with JACK, and after debug sessions, we figured
      out that the older kernels that had worked with JACK also didn't use
      the implicit feedback mode at all although they had the quirk code to
      enable it; instead, the old code worked just to skip the normal sync
      endpoint setup that would have been detected without it.  IOW, what
      broke without the implicit-fb quirk in the past was the application of
      the normal sync endpoint that is actually the capture data endpoint on
      these devices.
      
      This patch covers the overseen piece: it modifies the quirk code again
      not to enable the implicit feedback mode but just to make the driver
      skipping the sync endpoint detection.  This made the driver working
      with JACK full-duplex mode again.
      
      Still it's not quite clear why the implicit feedback doesn't work on
      those devices yet; maybe it's about some issues in the URB setup.  But
      at least, with this patch, the driver should work in the level of the
      older kernels again.
      
      Fixes: 167c9dc8 ("ALSA: usb-audio: Fix implicit feedback sync setup for Pioneer devices")
      Link: https://lore.kernel.org/r/20210118075816.25068-4-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      532a208a
    • Takashi Iwai's avatar
      ALSA: usb-audio: Set sample rate for all sharing EPs on UAC1 · 3784d449
      Takashi Iwai authored
      The UAC2/3 sample rate setup is based on the clock node, which is
      usually shared in the interface, and can't be re-setup without
      deselecting the interface once, and that's how the current code
      behaves.  OTOH, the sample rate setup of UAC1 is per endpoint, hence
      we basically need to call for each endpoint usage even if those share
      the same interface.
      
      This patch fixes the behavior of UAC1 to call always
      snd_usb_init_sample_rate() in snd_usb_endpoint_configure().
      
      Fixes: bf6313a0 ("ALSA: usb-audio: Refactor endpoint management")
      Link: https://lore.kernel.org/r/20210118075816.25068-3-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3784d449
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix UAC1 rate setup for secondary endpoints · 87cb9af9
      Takashi Iwai authored
      The current sample rate setup function for UAC1 assumes only the first
      endpoint retrieved from the interface:altset pair, but the rate set up
      may be needed also for the secondary endpoint.  Also, retrieving the
      endpoint number from the interface descriptor is redundant; we have
      already the target endpoint in the given audioformat object.
      
      This patch simplifies the code and corrects the target endpoint as
      described in the above.  It simply refers to fmt->endpoint directly.
      
      Also, this patch drops the pioneer_djm_set_format_quirk() that is
      caleld from snd_usb_set_format_quirk(); this function does the sample
      rate setup but for the capture endpoint (0x82), and that's exactly
      what the change above fixes.
      
      Link: https://lore.kernel.org/r/20210118075816.25068-2-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      87cb9af9
  2. 15 Jan, 2021 7 commits
  3. 14 Jan, 2021 2 commits
  4. 13 Jan, 2021 2 commits
  5. 12 Jan, 2021 6 commits
  6. 08 Jan, 2021 6 commits
  7. 07 Jan, 2021 3 commits
  8. 04 Jan, 2021 1 commit
    • Takashi Iwai's avatar
      ALSA: hda/via: Fix runtime PM for Clevo W35xSS · 4bfd6247
      Takashi Iwai authored
      Clevo W35xSS_370SS with VIA codec has had the runtime PM problem that
      looses the power state of some nodes after the runtime resume.  This
      was worked around by disabling the default runtime PM via a denylist
      entry.  Since 5.10.x made the runtime PM applied (casually) even
      though it's disabled in the denylist, this problem was revisited.  The
      result was that disabling power_save_node feature suffices for the
      runtime PM problem.
      
      This patch implements the disablement of power_save_node feature in
      VIA codec for the device.  It also drops the former denylist entry,
      too, as the runtime PM should work in the codec side properly now.
      
      Fixes: b529ef24 ("ALSA: hda: Add Clevo W35xSS_370SS to the power_save blacklist")
      Reported-by: default avatarChristian Labisch <clnetbox@gmail.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20210104153046.19993-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4bfd6247
  9. 03 Jan, 2021 1 commit
  10. 01 Jan, 2021 1 commit
  11. 31 Dec, 2020 4 commits
  12. 29 Dec, 2020 1 commit
  13. 28 Dec, 2020 1 commit