1. 08 Aug, 2024 21 commits
  2. 07 Aug, 2024 6 commits
  3. 06 Aug, 2024 2 commits
    • Takashi Iwai's avatar
      ALSA: usb-audio: Add input value sanity checks for standard types · 901e8567
      Takashi Iwai authored
      For an invalid input value that is out of the given range, currently
      USB-audio driver corrects the value silently and accepts without
      errors.  This is no wrong behavior, per se, but the recent kselftest
      rather wants to have an error in such a case, hence a different
      behavior is expected now.
      
      This patch adds a sanity check at each control put for the standard
      mixer types and returns an error if an invalid value is given.
      
      Note that this covers only the standard mixer types.  The mixer quirks
      that have own control callbacks would need different coverage.
      
      Link: https://patch.msgid.link/20240806124651.28203-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      901e8567
    • Takashi Iwai's avatar
      ALSA: ump: Handle MIDI 1.0 Function Block in MIDI 2.0 protocol · 0079c9d1
      Takashi Iwai authored
      The UMP v1.1 spec says in the section 6.2.1:
      "If a UMP Endpoint declares MIDI 2.0 Protocol but a Function Block
      represents a MIDI 1.0 connection, then may optionally be used for
      messages to/from that Function Block."
      
      It implies that the driver can (and should) keep MIDI 1.0 CVM
      exceptionally for those FBs even if UMP Endpoint is running in MIDI
      2.0 protocol, and the current driver lacks of it.
      
      This patch extends the sequencer port info to indicate a MIDI 1.0
      port, and tries to send/receive MIDI 1.0 CVM as is when this port is
      the source or sink.  The sequencer port flag is set by the driver at
      parsing FBs and GTBs although application can set it to its own
      user-space clients, too.
      
      Link: https://patch.msgid.link/20240806070024.14301-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0079c9d1
  4. 01 Aug, 2024 8 commits
  5. 30 Jul, 2024 3 commits
    • Takashi Iwai's avatar
      ALSA: control: Take power_ref lock primarily · fcc62b19
      Takashi Iwai authored
      The code path for kcontrol accesses have often nested locks of both
      card's controls_rwsem and power_ref, and applies in that order.
      However, what could take much longer is the latter, power_ref; it
      waits for the power state of the device, and it pretty much depends on
      the user's action.
      
      This patch swaps the locking order of those locks to a more natural
      way, namely, power_ref -> controls_rwsem, in order to shorten the time
      of possible nested locks.  For consistency, power_ref is taken always
      in the top-level caller side (that is, *_user() functions and the
      ioctl handler itself).
      
      Link: https://patch.msgid.link/20240729160659.4516-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fcc62b19
    • Takashi Iwai's avatar
      ALSA: hda: Enhance pm_blacklist option · 3bb66826
      Takashi Iwai authored
      We want sometimes to keep the runtime PM disabled persistently just
      like we did for the PM deny-list in the previous change, e.g. for
      testing some buggy device.  This patch enhances the existing
      pm_blacklist option for achieving it easily.
      
      The default behavior doesn't change -- the driver looks up the deny
      list and disables the runtime PM if matches.  However, when
      pm_blacklist=1 option is set, now the driver disables the runtime PM
      completely, just like the deny-list does.
      
      Update the documentation for this option, too.
      
      Link: https://patch.msgid.link/20240729141519.18398-2-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3bb66826
    • Takashi Iwai's avatar
      ALSA: hda: Keep PM disablement for deny-listed instance · 8abe0423
      Takashi Iwai authored
      We have a runtime PM deny-list for the devices that show the problems
      (typically click noises) at runtime suspend/resume, and when it
      matches, the driver disables the default runtime PM.  However, we
      still allow the runtime PM changed via power_save module option
      dynamically, and the desktop system often tweaks it.  This ended up
      with a re-enablement of the runtime PM that surprises users, suddenly
      suffering from the noises.
      
      This patch changes the driver behavior slightly: when the device is
      listed in the deny-list, ignore the power_save option change and keep
      the original (that is, off) runtime PM state.
      
      Link: https://patch.msgid.link/20240729141519.18398-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      8abe0423