1. 11 Jul, 2018 1 commit
    • Timo Wischer's avatar
      ALSA: pcm: Fix snd_interval_refine first/last with open min/max · ff2d6acd
      Timo Wischer authored
      Without this commit the following intervals [x y), (x y) were be
      replaced to (y-1 y) by snd_interval_refine_last(). This was also done
      if y-1 is part of the previous interval.
      With this changes it will be replaced with [y-1 y) in case of y-1 is
      part of the previous interval. A similar behavior will be used for
      snd_interval_refine_first().
      
      This commit adapts the changes for alsa-lib of commit
      9bb985c ("pcm: snd_interval_refine_first/last: exclude value only if
      also excluded before")
      Signed-off-by: default avatarTimo Wischer <twischer@de.adit-jv.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ff2d6acd
  2. 06 Jul, 2018 1 commit
  3. 04 Jul, 2018 2 commits
    • Takashi Iwai's avatar
      ALSA: pcm: Use snd_pcm_stop_xrun() for xrun injection · e647f5a5
      Takashi Iwai authored
      Basically the xrun injection routine can simply call the standard
      helper snd_pcm_stop_xrun(), but with one exception: it may be called
      even when the stream is closed.
      
      Make snd_pcm_stop_xrun() more robust and check the NULL runtime state,
      and simplify xrun injection code by calling it.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e647f5a5
    • Takashi Iwai's avatar
      ALSA: pcm: trace XRUN event at injection, too · 9cd641ed
      Takashi Iwai authored
      The PCM xrun injection triggers directly snd_pcm_stop() without the
      standard xrun handler, hence it's not recorded on the event buffer.
      Ditto for snd_pcm_stop_xrun() call and SNDRV_PCM_IOCTL_XRUN ioctl.
      They are inconvenient from the debugging POV.
      
      Let's make them to trigger XRUN via the standard helper more
      consistently.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9cd641ed
  4. 03 Jul, 2018 1 commit
  5. 02 Jul, 2018 2 commits
  6. 29 Jun, 2018 1 commit
    • Nicholas Mc Guire's avatar
      ALSA: snd-aoa: add of_node_put() in error path · 222bce5e
      Nicholas Mc Guire authored
       Both calls to of_find_node_by_name() and of_get_next_child() return a
      node pointer with refcount incremented thus it must be explicidly
      decremented here after the last usage. As we are assured to have a
      refcounted  np  either from the initial
      of_find_node_by_name(NULL, name); or from the of_get_next_child(gpio, np)
      in the while loop if we reached the error code path below, an
      x of_node_put(np) is needed.
      Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Fixes: commit f3d9478b ("[ALSA] snd-aoa: add snd-aoa")
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      222bce5e
  7. 28 Jun, 2018 9 commits
  8. 27 Jun, 2018 3 commits
  9. 26 Jun, 2018 9 commits
  10. 25 Jun, 2018 11 commits
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Apply PRE_PROBE fixup after ALC269 codec variant setups · efe55732
      Takashi Iwai authored
      Currently patch_alc269() calls the fixup with HDA_FIXUP_ACT_PRE_PROBE
      before setting up the codec model-specific setups (e.g. setting
      codec_variant or mixer_nid setup).  This is rather confusing as others
      do call the *_PRE_PROBE fixup after such a setup.  Due to this
      disorder, we have to override spec->shutup not at the usual
      HDA_FIXUP_ACT_PRE_PROBE but the unusual HDA_FIXUP_ACT_PROBE time.
      
      This patch corrects the fixup call orders in patch_alc269(), and also
      corrects the action to set up spec->shutup accordingly.
      
      No functional changes but just refactoring.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      efe55732
    • Takashi Iwai's avatar
      ALSA: hda/via - Use standard verb containers · f8bfc628
      Takashi Iwai authored
      In this patch, the remaining static init verbs in VIA codec driver are
      converted to the standard snd_hda_add_verbs() calls.  The conversion
      is straightforward, but one change to be noted is the place of calls:
      since these verbs are supposed to be executed at the beginning of the
      init / resume procedure, we need to add snd_hda_add_verbs() calls
      before calling the other parsers.
      
      This is merely a cleanup, no functional changes.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f8bfc628
    • Takashi Iwai's avatar
      ALSA: hda/via - Simplify control management · 0e8f9862
      Takashi Iwai authored
      This patch replaces the control element creations in VIA codec driver
      with the standard snd_hda_gen_add_kctl() calls as a cleanup.  There
      are two major fields targeted by this patch: the beep controls and
      static init controls.
      
      The former is converted just like other codec drivers do.  The
      spec->beep_amp field can be eliminated by this change as well.
      
      The latter, static init controls, are replaced simply with explicit
      snd_hda_gen_add_kctl() calls.
      
      After these conversions, via_build_controls() becomes superfluous and
      replaced with snd_hda_gen_build_controls(), too.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0e8f9862
    • Takashi Iwai's avatar
      ALSA: hda/via - Rewrite with error goto · fcbdcc1a
      Takashi Iwai authored
      Currently VIA codec driver invokes via_free() at each place of the
      error path.  Move the error handling to the end of each function
      commonly and do goto-error as a standard idiom.
      
      This is a preliminary patch for the further cleanups, and no
      functional changes.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fcbdcc1a
    • Takashi Iwai's avatar
      ALSA: hda/cirrus - Simplify creation of new controls · 0785b0ec
      Takashi Iwai authored
      This patch moves the mixer creation code in Cirrus codec driver from
      its own build_controls callback to snd_hda_gen_add_kctl() for
      simplification.
      
      As a bonus, this allows us to remove the cs421x_build_controls as it
      becomes identical with snd_hda_gen_build_controls().
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0785b0ec
    • Takashi Iwai's avatar
      ALSA: hda/conexant - Clean up beep code · 51e19ca5
      Takashi Iwai authored
      Like the previous commit for Realtek codec, the similar cleanup work
      can be applied to Conexant codec, too.  A slight difference is that
      the call of cx_auto_parse_beep() is moved after
      snd_hda_gen_parse_auto_config().  It's not strictly needed, but it'd
      be good to make the creation of such beep mixers at the end, which
      matches with the former situation.
      
      Along with this conversion, cx_auto_build_controls() becomes just
      calling snd_hda_gen_build_controls(), so it's simply replaced with
      snd_hda_gen_build_controls.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      51e19ca5
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Use common helper for creating beep controls · fea80fae
      Takashi Iwai authored
      In the Realtek codec driver, we used to build kctl elements for beep
      mixer in the own build_controls callback.  This is an open-code and
      can be covered by the standard feature of the generic parser with
      snd_hda_gen_add_kctl() instead.
      
      Also, after the conversion, spec->beep_amp becomes superfluous; hence
      it's removed along with the conversion.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      fea80fae
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Use common helper for creating ALC268 beep controls · a5cb463a
      Takashi Iwai authored
      The beep mixer controls are the only remaining stuff that uses
      spec->mixers[] array, and they can be well converted to the standard
      helper in the generic parser, snd_hda_gen_add_kctl().
      
      This simplifies the code, especially the superfluous mixers and
      num_mixers fields can be now removed from alc_spec.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a5cb463a
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Use common GPIO mask for ALC660VD ASUS fixup · df73d83f
      Takashi Iwai authored
      The ALC660VD_FIX_ASUS_GPIO1 quirk requires to set up GPIO bit0 ON
      while bit 1 OFF.  Implement the fixup function and convert from the
      static init verbs.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      df73d83f
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Simplify Dell XPS13 GPIO handling · d44a6864
      Takashi Iwai authored
      Dell XPS13 has multi-step fixups, and one of them
      (ALC288_FIXUP_DELL_XPS_13_GPIO6) corresponds to the management of GPIO
      bit6 (0x40).  It used to be a static init verbs (to turn *off* the
      bit6).
      
      In this patch, we convert it as the gpio_mask and gpio_dir
      initializations folded in the existing fixup function.  With this
      change, ALC288_FIXUP_DELL_XPS_13_GPIO6 becomes superfluous, thus it's
      removed.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d44a6864
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Convert some manual GPIO setups · ae065f1c
      Takashi Iwai authored
      This patch converts the remaining static init verbs for GPIO bits with
      the common gpio_* fields management.  Only the verbs setting the GPIO
      data bits are targeted in this patch.  The rest will be changed in
      later patches.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ae065f1c