1. 10 3月, 2014 2 次提交
  2. 06 3月, 2014 6 次提交
  3. 05 3月, 2014 3 次提交
  4. 03 3月, 2014 1 次提交
  5. 01 3月, 2014 5 次提交
    • L
      ASoC: dapm: Consolidate MUXs and virtual MUXs · 236aaa68
      Lars-Peter Clausen 提交于
      MUXs and virtual MUXs are almost identical, the only difference is that for
      virtual MUX there is no hardware backing register in which setting is stored.
      This patch adds code, which is similar to what we already do for DAPM mixer
      controls to support virtual mixer controls, to DAPM enum controls. The new code
      will check if the enum does a hardware backing register and skip over reading
      and writing to the register if it has not.  This allows us to use the same code
      path for both MUXs and virtual MUXs and a lot of nearly identical code can be
      removed.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      236aaa68
    • L
      ASoC: Add macros for defining virtual enums · b948837a
      Lars-Peter Clausen 提交于
      With the upcoming consolidation of normal MUXs and virtual MUXs we need to be
      able to distinguish between enums with and without a backing register at the
      enum level. Use the same approach as used for virtual mixer controls by setting
      the reg field of the enum to SND_SOC_NOPM for enums without a backing register.
      This patch adds a set of helper macros that can be used to define such enums.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      b948837a
    • L
      ASoC: dapm: Consolidate MUXs and value MUXs · 3727b496
      Lars-Peter Clausen 提交于
      MUXs and value MUXs are almost identical, the only difference is that a value
      MUX uses a look-up table to map from the selected control item to a register
      value, while MUXs use a direct mapping. This patch uses
      snd_soc_enum_item_to_val() and snd_soc_enum_val_to_item(), which where earlier
      introduced during the consolidation of enum and value enum controls, to hide
      this difference. This allows us to use the same code path for both MUXs and
      value MUXs and a lot of nearly duplicated code can be removed.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      3727b496
    • L
      ASoC: Consolidate enum and value enum controls · 29ae2fa5
      Lars-Peter Clausen 提交于
      The implementations for enum and value enum controls are almost identical. The
      only difference is that the value enum uses an additional look-up table to map
      the control value to the register value, while the enum control uses a direct
      mapping. Enums and value enums can easily be distinguished at runtime, for value
      enums the values field of the snd_soc_enum struct contains the look-up table,
      while for enums it is NULL. This patch adds two new small helper functions
      called snd_soc_enum_item_to_val() and snd_soc_enum_val_to_item() which map
      between register value and control item. If the items field of the snd_soc_enum
      struct is NULL the function will do a direct mapping otherwise they'll use the
      look-up table to do the mapping. Using these small helper functions it is
      possible to use the same kcontrol handlers for both enums and value enums. The
      functions are added a inline functions in soc.h so they can also be used by the
      DAPM code to accomplish similar consolidation.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      29ae2fa5
    • L
      8303d769
  6. 23 2月, 2014 2 次提交
    • X
      ASoC: simple-card: add slot information parsing supports · 6ff62eed
      Xiubo Li 提交于
      For some CPU/CODEC DAI devices the slot information maybe needed. This
      patch adds the slot information parsing for simple-card driver.
      Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      6ff62eed
    • X
      ASoC: core: add TDM slot parsing from DT supports · 89c67857
      Xiubo Li 提交于
      For some CPU/CODEC DAI devices the TDM slot infomation maybe needed. This
      patch adds the slot parsing from DT supports.
      
      TDM slot properties:
          dai-tdm-slot-num : Number of slots in use.
          dai-tdm-slot-width :  Width in bits for each slot.
      
      For instance:
          dai-tdm-slot-num = <2>;
          dai-tdm-slot-width = <8>;
      
      And for each spcified driver, there could be one .of_xlate_tdm_slot_mask()
      to specify a explicit mapping of the channels and the slots. If it's absent
      the default snd_soc_of_xlate_tdm_slot_mask() will be used to generating the
      tx and rx masks.
      
      For snd_soc_of_xlate_tdm_slot_mask(), the tx and rx masks will use a 1 bit
      for an active slot as default, and the default active bits are at the LSB of
      the masks.
      Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      89c67857
  7. 20 2月, 2014 5 次提交
  8. 10 2月, 2014 1 次提交
    • X
      ASoC: add snd_soc_of_parse_audio_simple_widgets for DT · 9a6d4860
      Xiubo Li 提交于
      This patch adds snd_soc_of_parse_audio_simple_widgets() and supports
      below style of widgets name on DT:
      
      	"template-wname", "user supplied wname"
      
      For instance:
      	simple-audio-widgets =
      		"Microphone", "Microphone Jack",
      		"Line", "Line In Jack",
      		"Line", "Line Out Jack",
      		"Headphone", "Headphone Jack",
      		"Speaker", "Speaker External";
      
      The "template-wname" currently includes: "Microphone", "Line", "Headphone"
      and "Speaker".
      Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      9a6d4860
  9. 03 2月, 2014 5 次提交
  10. 18 1月, 2014 2 次提交
  11. 15 1月, 2014 1 次提交
  12. 09 1月, 2014 1 次提交
    • T
      ALSA: Remove memory reservation code from memalloc helper · 47d98c02
      Takashi Iwai 提交于
      Nowadays we have CMA for obtaining the contiguous memory pages
      efficiently.  Let's kill the old kludge for reserving the memory pages
      for large buffers.  It was rarely useful (only for preserving pages
      among module reloading or a little help by an early boot scripting),
      used only by a couple of drivers, and yet it gives too much ugliness
      than its benefit.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      47d98c02
  13. 08 1月, 2014 3 次提交
  14. 31 12月, 2013 1 次提交
  15. 30 12月, 2013 1 次提交
  16. 19 12月, 2013 1 次提交
    • S
      ASoC: SPEAr: remove custom DMA alloc compat function · e1771bcf
      Stephen Warren 提交于
      spear_pcm_request_chan() is almost identical to
      dmaengine_pcm_compat_request_channel(), with the exception that the
      latter:
      
      a) Assumes that the DAI DMA data is a struct snd_dmaengine_dai_dma_data
         pointer rather than some custom type.
      
      b) dma_data->filter_data rather than dma_data should be passed to
         snd_dmaengine_pcm_request_channel() as the filter data.
      
      Make minor changes to the SPEAr DAI drivers so that those two conditions
      are met. This allows removal of the custom .compat_request_channel().
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      e1771bcf