1. 19 8月, 2014 2 次提交
    • L
      ASoC: Consolidate platform and CODEC probe/remove · f1d45cc3
      Lars-Peter Clausen 提交于
      The platform and CODEC probe and remove code is now largely identical. This
      patch consolidates it at the component level.
      
      The resulting code is slightly larger due to all the boiler plate code setting
      up the indirection for the table based control and DAPM registration.  Once all
      drivers have been update to no longer use the snd_soc_codec_driver and
      snd_soc_platform_driver specific fields for this the indirection can be removed
      again.
      
      This patch contains two noteworthy hacks that are only meant to be temporary to
      be able to update drivers and the core in separate incremental patches.
      
      The first hack is related to that some DPCM platforms expect that the DAPM
      widgets for the DAIs of a snd_soc_component are created in the DAPM context of
      the snd_soc_platform that has the same parent device. For handling this the
      steal_sibling_dai_widgets attribute is introduced. It gets set for
      snd_soc_platforms that register DAPM elements. When creating the DAI widgets for
      a component this flag is checked and if it is found on one of the siblings the
      component will not create any DAI widgets in its own DAPM context. If the
      attribute is set on a platform it will look for siblings components and create
      DAI widgets for them in its own context. The fix for this will be to update
      the offending drivers to only register a single component rather than two.
      
      The second hack deals with the fact that the ASoC card suspend and resume code
      still needs a list of CODECs that have been registered for the card. To handle
      this the generic probe and remove path have a check to see if the component is
      CODEC and if yes add/remove it to the card's CODEC list. While it is possible to
      clean up the suspend/resume code to not need the CODEC list anymore this is a
      bit of a chicken and egg problem since it will become easier to clean up the
      suspend/resume code once there is a unified component layer.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      f1d45cc3
    • L
      ASoC: Move debugfs registration to the component level · 81c7cfd1
      Lars-Peter Clausen 提交于
      The debugfs registration is mostly identical between platforms and CODECs. This
      patches consolidates the two implementations at the component level.
      
      Unfortunately there are still a couple of CODEC specific debugfs files that are
      related to legacy ASoC IO that need to be registered. For this a new callback is
      added to the component struct that will be initialized when a CODEC is
      registered and will be used to register the CODEC specific files. Once there are
      no drivers left using legacy IO this can be removed again.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      81c7cfd1
  2. 14 8月, 2014 1 次提交
    • T
      ALSA: hda - Set TLV_DB_SCALE_MUTE bit for cx5051 vmaster · 61074c1a
      Takashi Iwai 提交于
      Conexnat HD-audio driver has a workaround for cx5051 (aka CX20561)
      chip to add fake mute controls to each amp (commit 3868137e).  This
      implies the minimum-as-mute TLV bit in TLV for each corresponding
      control.  Meanwhile we build the virtual master from these, but the
      TLV bit is missing, even though the slaves have it.
      
      This patch simply adds the missing TLV_DB_SCALE_MUTE bit for vmaster,
      as already done in patch_sigmatel.c.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      61074c1a
  3. 13 8月, 2014 1 次提交
  4. 10 8月, 2014 4 次提交
  5. 07 8月, 2014 3 次提交
    • T
      ALSA: hda - Fix parsing of CMI8888 codec · 875f0dd7
      Takashi Iwai 提交于
      CMI8888 codec chip has a boost amp (only) on the headphone pin, and
      this confuses the generic parser, which tends to pick up the most
      outside amp.  This results in the wrong volume setup, as the driver
      complains like:
        hda_codec: Mismatching dB step for vmaster slave (-100!=1000)
      
      For avoiding this problem, rule out the amp on NID 0x10 and create
      "Headphone Amp" volume control manually instead.
      
      Note that this patch still doesn't fix all problems yet.  The sound
      output from the line out seems still too low.  It will be fixed in
      another patch (hopefully).
      Reported-and-tested-by: NVincent Lejeune <vljn@ovi.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      875f0dd7
    • T
      ALSA: hda - Fix probing and stuttering on CMI8888 HD-audio controller · c563f473
      Takashi Iwai 提交于
      ASUS Phoebus with CMI8888 HD-audio chip (PCI id 13f6:5011) doesn't
      work with HD-audio driver as is because of some weird nature.  For
      making DMA properly working, we need to disable MSI.  The position
      report buffer doesn't work, thus we need to force reading LPIB
      instead.  And yet, the codec CORB/RIRB communication gives errors
      unless we disable the snooping (caching).
      
      In this patch, all these workarounds are added as a quirk for the
      device.  The HD-audio *codec* chip needs yet another workaround, but
      it'll be provided in the succeeding patch.
      Reported-and-tested-by: NVincent Lejeune <vljn@ovi.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c563f473
    • K
      ALSA: hda/realtek - Fixed ALC286/ALC288 recording delay for Headset Mic · f7ae9ba0
      Kailang Yang 提交于
      It will be recording voice delay for resume back recording for Headset Mic.
      This alc286 will quickly open Headset Mic, to prevent avoid recording files are missing.
      The issue was fixed. This is follow ALC286 programing guide.
      
      [fix build error, add static and renamed the function by tiwai]
      Signed-off-by: NKailang Yang <kailang@realtek.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      f7ae9ba0
  6. 06 8月, 2014 6 次提交
  7. 05 8月, 2014 1 次提交
  8. 04 8月, 2014 12 次提交
  9. 02 8月, 2014 9 次提交
  10. 01 8月, 2014 1 次提交