1. 06 6月, 2011 1 次提交
    • S
      ALSA: hda: Allow multple SPDIF controls per codec · 7c935976
      Stephen Warren 提交于
      Currently, the data that backs the kcontrols created by
      snd_hda_create_spdif_out_ctls is stored directly in struct hda_codec. When
      multiple sets of these controls are stored, they will all manipulate the
      same data, causing confusion. Instead, store an array of this data, one
      copy per converter, to isolate the controls.
      
      This patch would cause a behavioural change in the case where
      snd_hda_create_spdif_out_ctls was called multiple times for a single codec.
      As best I can tell, this is never the case for any codec.
      
      This will be relevant at least for some HDMI audio codecs, such as the
      NVIDIA GeForce 520 and Intel Ibex Peak. A future change will modify the
      driver's handling of those codecs to create multiple PCMs per codec. Note
      that this issue isn't affected by whether one creates a PCM-per-converter
      or PCM-per-pin; there are multiple of both within a single codec in both
      of those codecs.
      
      Note that those codecs don't currently create multiple PCMs for the codec
      due to the default HW mux state of all pins being to point at the same
      converter, hence there is only a single converter routed to any pin, and
      hence only a single PCM.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7c935976
  2. 02 5月, 2011 1 次提交
  3. 07 4月, 2011 1 次提交
  4. 03 3月, 2011 1 次提交
  5. 25 10月, 2010 1 次提交
  6. 21 9月, 2010 1 次提交
  7. 20 8月, 2010 1 次提交
    • T
      ALSA: hda - Fix stream and channel-ids codec-bus wide · 3f50ac6a
      Takashi Iwai 提交于
      The new sticky PCM parameter introduced the delayed clean-ups of
      stream- and channel-id tags.  In the current implementation, this check
      (adding dirty flag) and actual clean-ups are done only for the codec
      chip.  However, with HD-audio architecture, multiple codecs can be
      on a single bus, and the controller assign stream- and channel-ids in
      the bus-wide.
      
      In this patch, the stream-id and channel-id are checked over all codecs
      connected to the corresponding bus.  Together with it, the mutex is
      moved to struct hda_bus, as this becomes also bus-wide.
      Reported-and-tested-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3f50ac6a
  8. 13 8月, 2010 1 次提交
    • T
      ALSA: hda - Fix dynamic ADC change working again · f0cea797
      Takashi Iwai 提交于
      The commit eb541337
          ALSA: hda - Make converter setups sticky
      changes the semantics of snd_hda_codec_cleanup_stream() not to clean up
      the stream at that moment but delay the action.  This broke the codes
      expecting that the clean-up is done immediately, such as dynamic ADC
      changes in some codec drivers.
      
      This patch fixes the issue by introducing a lower helper,
      __snd_hda_codec_cleanup_stream(), to allow the immediate clean up.
      The original snd_hda_codec_cleanup_stream() is kept as is now.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      f0cea797
  9. 06 8月, 2010 1 次提交
    • T
      ALSA: hda - Make converter setups sticky · eb541337
      Takashi Iwai 提交于
      So far, we reset the converter setups like the stream-tag, the
      channel-id and format-id in prepare callbacks, and clear them in
      cleanup callbacks.  This often causes a silence of the digital
      receiver for a couple of seconds.
      
      This patch tries to delay the converter setup changes as much as
      possible.  The converter setups are cached and aren't reset as long
      as the same values are used.  At suspend/resume, they are cleared
      to be recovered properly, too.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      eb541337
  10. 03 8月, 2010 3 次提交
  11. 19 7月, 2010 1 次提交
  12. 09 7月, 2010 1 次提交
  13. 31 3月, 2010 1 次提交
  14. 29 1月, 2010 1 次提交
  15. 27 12月, 2009 1 次提交
  16. 26 12月, 2009 1 次提交
  17. 15 12月, 2009 1 次提交
  18. 11 12月, 2009 3 次提交
  19. 18 11月, 2009 1 次提交
  20. 16 11月, 2009 2 次提交
  21. 11 11月, 2009 1 次提交
    • T
      ALSA: hda - Add power on/off counter · a2f6309e
      Takashi Iwai 提交于
      Added the power on/off counter and expose via sysfs files.
      The sysfs files, power_on_acct and power_off_acct, are created under
      each codec hwdep sysfs directory (e.g. /sys/class/sound/hwC0D0).
      The files show the msec length of the codec power-on and power-off,
      respectively.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      a2f6309e
  22. 10 11月, 2009 2 次提交
  23. 03 8月, 2009 1 次提交
  24. 24 6月, 2009 2 次提交
    • T
      ALSA: hda - Add patch module option · 4ea6fbc8
      Takashi Iwai 提交于
      Added the patch module option to apply a "patch" as a firmware to
      modify pin configurations or give additional hints to the driver
      before actually initializing and configuring the codec.
      
      This can be used as a workaround when the BIOS doesn't give sufficient
      information or give wrong information that doesn't match with the real
      hardware setup, until it's fixed statically in the driver via a quirk.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4ea6fbc8
    • T
      ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new() · a1e21c90
      Takashi Iwai 提交于
      The codec setup call via snd_hda_codec_configure() isn't necessarily
      called in snd_hda_codec_new().  For the later added feature, it's better
      to change the code flow like:
       - create all codec instances
       - configure each codec
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      a1e21c90
  25. 02 6月, 2009 2 次提交
  26. 16 5月, 2009 1 次提交
  27. 21 4月, 2009 1 次提交
    • T
      ALSA: hda - Retry codec-verbs at errors · b613291f
      Takashi Iwai 提交于
      The current error-recovery scheme for the codec communication errors
      doesn't work always well.  Especially falling back to the
      single-command mode causes the fatal problem on many systems.
      
      In this patch, the problematic verb is re-issued again after the error
      (even with polling mode) instead of the single-cmd mode.  The
      single-cmd mode will be used only when specified via the command
      option explicitly, mainly just for testing.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b613291f
  28. 23 3月, 2009 1 次提交
  29. 13 3月, 2009 1 次提交
  30. 23 2月, 2009 1 次提交
  31. 20 2月, 2009 1 次提交
  32. 05 2月, 2009 1 次提交
    • T
      ALSA: hda - Fix misc workqueue issues · e8c0ee5d
      Takashi Iwai 提交于
      Some fixes regarding snd-hda-intel workqueue:
      - Use create_singlethread_workqueue() instead of create_workqueue()
        as per-CPU work isn't required.
      - Allocate workq name string properly
      - Renamed the workq name to "hd-audio*" to be more obvious.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e8c0ee5d