1. 06 Jul, 2018 1 commit
  2. 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
  3. 03 Jul, 2018 1 commit
  4. 02 Jul, 2018 2 commits
  5. 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
  6. 28 Jun, 2018 9 commits
  7. 27 Jun, 2018 3 commits
  8. 26 Jun, 2018 9 commits
  9. 25 Jun, 2018 12 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
    • Takashi Iwai's avatar
      ALSA: hda/realtek - Simplify mute LED GPIO handling · 01e4a275
      Takashi Iwai authored
      Now we can simplify the mute LED GPIO handling as well.  Each fixup
      dealing with GPIO for the mute LED controls defined the static init
      verbs, and they are converted to the common GPIO bit fields with the
      new helper, alc_fixup_hp_gpio_led().
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      01e4a275