1. 07 3月, 2014 1 次提交
  2. 05 3月, 2014 1 次提交
    • M
      ASoC: fsl: Don't select FIQ from Eukrea · d433570d
      Mark Brown 提交于
      There is no point in using FIQ if DMA is available (it is selected) and
      selecting FIQ currently breaks the build on non-i.MX platforms.  If FIQ
      is actually required the build will need to be restricted or have a
      select for the relevant FIQ code adding.
      Signed-off-by: NMark Brown <broonie@linaro.org>
      d433570d
  3. 03 3月, 2014 1 次提交
  4. 11 2月, 2014 1 次提交
  5. 21 1月, 2014 1 次提交
  6. 10 1月, 2014 1 次提交
    • N
      ASoC: fsl_esai: Add ESAI CPU DAI driver · 43d24e76
      Nicolin Chen 提交于
      This patch implements a device-tree-only CPU DAI driver for Freescale ESAI
      controller that supports:
      
       - 12 channels playback and 8 channels record.
         [ Some of the inner transmitters and receivers are sharing same group of
           pins. So the maxmium 12 output or 8 input channels are only valid if
           there is no pin conflict occurring to it. ]
      
       - Independent (asynchronous mode) or shared (synchronous mode) transmit and
         receive sections with separate or shared internal/external clocks and frame
         syncs, operating in Master or Slave mode.
         [ Current ALSA seems not to allow CPU DAI drivers to configure DAI format
           separately for PLAYBACK and CAPTURE. So this first version only supports
           the case that uses the same DAI format for both directions. ]
      
       - Various DAI formats: I2S, Left-Justified, Right-Justified, DSP-A and DSP-B.
      
       - Programmable word length (8, 16, 20 or 24bits)
      
       - Flexible selection between system clock or external oscillator as input
         clock source, programmable internal clock divider and frame sync generation.
      Signed-off-by: NNicolin Chen <Guangyu.Chen@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      43d24e76
  7. 01 1月, 2014 1 次提交
    • N
      ASoC: imx-spdif: Use snd-soc-dummy CODEC driver to link card · 14c3aa98
      Nicolin Chen 提交于
      This is a quick fix for the below two issues when building spdif as modules.
      
      1) If modprobing modules in order: (Step 1) snd-soc-fsl-spdif -> (Step 2)
      snd-soc-imx-spdif -> (Step 3) snd-soc-spdif-tx/rx, we will fail to create
      imx-spdif card and dai link unless we rmmod snd-soc-imx-spdif and modprobe
      it again due to the execution platform_driver_unregister() in probe() when
      meeting -EPROBE_DEFER at Step 2.
      
      2) After "imx-spdif sound-spdif.17: dit-hifi <-> 2004000.spdif mapping ok",
      'rmmod snd-soc-imx-spdif' would cause kernel dump with warning:
      WARNING: CPU: 0 PID: 1301 at /home/rmk/git/linux-rmk/fs/sysfs/dir.c:915 sysfs_hash_and_remove+0x84/0x90()
      sysfs: can not remove 'dapm_widget', no directory
      This should be caused by disordered resourse releasing of the whole link.
      And trying to unregister the card and then CODEC dev can't fix this issue.
      
      Thus this patch just provides a simple fix to these two bugs by using the
      snd-soc-dummy in the core instead of seperate snd-soc-spdif-tx/rx so that
      there's no need to handle the registering and unregistering of CODEC or
      CODEC dai any more.
      Signed-off-by: NNicolin Chen <Guangyu.Chen@freescale.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      14c3aa98
  8. 19 12月, 2013 1 次提交
  9. 09 9月, 2013 1 次提交
  10. 30 8月, 2013 1 次提交
  11. 29 8月, 2013 1 次提交
  12. 22 8月, 2013 1 次提交
  13. 18 8月, 2013 1 次提交
  14. 07 8月, 2013 1 次提交
  15. 31 7月, 2013 1 次提交
    • F
      ASoC: fsl: Fix module build · 3f1a91aa
      Fabio Estevam 提交于
      Building imx_v6_v7_defconfig with all audio drivers as modules results in
      the folowing build error:
      
      ERROR: "imx_pcm_fiq_init" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_init" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_fiq_exit" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_exit" [sound/soc/fsl/snd-soc-imx-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_init" [sound/soc/fsl/snd-soc-fsl-ssi.ko] undefined!
      ERROR: "imx_pcm_dma_exit" [sound/soc/fsl/snd-soc-fsl-ssi.ko] undefined!
      
      Fix this by allowing SND_SOC_IMX_PCM_FIQ and SND_SOC_IMX_PCM_DMA to be also
      built as modules and by using 'IS_ENABLED' to cover the module case.
      Reported-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Acked-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      3f1a91aa
  16. 18 7月, 2013 1 次提交
  17. 16 7月, 2013 1 次提交
  18. 12 6月, 2013 1 次提交
  19. 15 5月, 2013 1 次提交
  20. 17 4月, 2013 1 次提交
  21. 28 1月, 2013 1 次提交
    • S
      Revert "ASoC: fsl: fix multiple definition of init_module" · 93d7b762
      Shawn Guo 提交于
      This reverts commit 25b8d314.
      
      While the commit fixes multiple init_module definition error with
      module build, it breaks build when both imx-pcm-fiq and imx-pcm-dma
      are built in as below.
      
        LD      sound/soc/fsl/snd-soc-fsl-ssi.o
        LD      sound/soc/fsl/snd-soc-fsl-utils.o
        LD      sound/soc/fsl/snd-soc-imx-ssi.o
        LD      sound/soc/fsl/snd-soc-imx-audmux.o
        LD      sound/soc/fsl/snd-soc-imx-pcm-fiq.o
        LD      sound/soc/fsl/snd-soc-imx-pcm-dma.o
        LD      sound/soc/fsl/snd-soc-eukrea-tlv320.o
        LD      sound/soc/fsl/snd-soc-imx-sgtl5000.o
        LD      sound/soc/fsl/snd-soc-imx-mc13783.o
        LD      sound/soc/fsl/built-in.o
      sound/soc/fsl/snd-soc-imx-pcm-dma.o: In function `imx_pcm_free':
      imx-pcm.c:(.text+0x464): multiple definition of `imx_pcm_free'
      sound/soc/fsl/snd-soc-imx-pcm-fiq.o:imx-pcm-fiq.c:(.text+0x1a8): first defined here
      sound/soc/fsl/snd-soc-imx-pcm-dma.o: In function `snd_imx_pcm_mmap':
      imx-pcm.c:(.text+0x35c): multiple definition of `snd_imx_pcm_mmap'
      sound/soc/fsl/snd-soc-imx-pcm-fiq.o:imx-pcm-fiq.c:(.text+0xa0): first defined here
      sound/soc/fsl/snd-soc-imx-pcm-dma.o: In function `imx_pcm_new':
      imx-pcm.c:(.text+0x3dc): multiple definition of `imx_pcm_new'
      sound/soc/fsl/snd-soc-imx-pcm-fiq.o:imx-pcm-fiq.c:(.text+0x120): first defined here
      make[4]: *** [sound/soc/fsl/built-in.o] Error 1
      
      Let's revert the commit and find a proper fix for multiple init_module
      definition error later.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      93d7b762
  22. 12 1月, 2013 1 次提交
    • S
      ASoC: fsl: fix multiple definition of init_module · 25b8d314
      Shawn Guo 提交于
      With commit f2818d07 (ASoC: fsl: fix miscompilation of snd-soc-imx-pcm),
      we will see the following build error when building modules with
      CONFIG_SND_IMX_SOC=m in imx_v6_v7_defconfig.
      
        CC [M]  sound/soc/fsl/phycore-ac97.o
        LD [M]  sound/soc/fsl/snd-soc-fsl-ssi.o
        LD [M]  sound/soc/fsl/snd-soc-fsl-utils.o
        LD [M]  sound/soc/fsl/snd-soc-imx-ssi.o
        LD [M]  sound/soc/fsl/snd-soc-imx-audmux.o
        LD [M]  sound/soc/fsl/snd-soc-imx-pcm.o
      sound/soc/fsl/imx-pcm-dma.o: In function `init_module':
      imx-pcm-dma.c:(.init.text+0x0): multiple definition of `init_module'
      sound/soc/fsl/imx-pcm-fiq.o:imx-pcm-fiq.c:(.init.text+0x0): first defined here
      sound/soc/fsl/imx-pcm-dma.o: In function `cleanup_module':
      imx-pcm-dma.c:(.exit.text+0x0): multiple definition of `cleanup_module'
      sound/soc/fsl/imx-pcm-fiq.o:imx-pcm-fiq.c:(.exit.text+0x0): first defined here
      make[4]: *** [sound/soc/fsl/snd-soc-imx-pcm.o] Error 1
      
      Instead of using bool for SND_SOC_IMX_PCM_FIQ and SND_SOC_IMX_PCM_DMA
      to fix the original issue, we should completely remove SND_SOC_IMX_PCM
      and have imx-pcm.o statically linked with imx-pcm-fiq.o or imx-pcm-dma.o.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      25b8d314
  23. 28 11月, 2012 1 次提交
    • L
      ASoC: fsl: fix miscompilation of snd-soc-imx-pcm · f2818d07
      Lothar Waßmann 提交于
      Hi Mark,
      
      thanks your insisting on a better description for the patch, I found a
      more appropriate solution for the problem:
      
      Compiling the SoC Audio driver for Freescale i.MX as a module
      (CONFIG_SND_SOC_IMX_PCM=m) results in a non-functional sound driver
      indicated by the error message:
      | imx-sgtl5000 sound.1: platform imx-pcm-audio not registered
      | imx-sgtl5000 sound.1: snd_soc_register_card failed (-517)
      | platform sound.1: Driver imx-sgtl5000 requests probe deferral
      instead of the message:
      | imx-sgtl5000 sound.1:  sgtl5000 <-> 63fcc000.ssi mapping ok
      that is to be expected upon loading the snd-soc-imx-pcm.ko module.
      
      The build log reveals, that the file imx-pcm-dma.o (or imx-pcm-fiq.o
      depending on the kernel configuration), which should be linked
      together with imx-pcm.o into snd-imx-pcm.ko, is not being compiled in
      this case.
      
      The make rules for these files shows that the target object imx-pcm.o
      is assigned to the variable snd-soc-imx-pcm-y while
      imx-pcm-{dma,fiq}.o are added to to
      snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_DMA) and
      snd-soc-imx-pcm-$(CONFIG_SND_SOC_IMX_PCM_FIQ) which resolve to
      snd-soc-imx-pcm-m in this case.
      
      According to Documentation/kbuild/modules.txt:
      |When the module is built from multiple sources, an additional line is
      |needed listing the files:
      |
      |        <module_name>-y := <src1>.o <src2>.o ...
      Thus the type of the config variables CONFIG_SND_SOC_IMX_PCM_DMA and
      CONFIG_SND_SOC_IMX_PCM_FIQ should be 'bool' instead of 'tristate' to
      resolve to 'y' when selected.
      Signed-off-by: NLothar Waßmann <LW@KARO-electronics.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      f2818d07
  24. 24 10月, 2012 1 次提交
  25. 22 10月, 2012 1 次提交
  26. 22 9月, 2012 1 次提交
  27. 18 5月, 2012 1 次提交
  28. 04 4月, 2012 2 次提交
  29. 01 4月, 2012 5 次提交
  30. 20 8月, 2010 1 次提交
  31. 12 8月, 2010 1 次提交
    • L
      ASoC: multi-component - ASoC Multi-Component Support · f0fba2ad
      Liam Girdwood 提交于
      This patch extends the ASoC API to allow sound cards to have more than one
      CODEC and more than one platform DMA controller. This is achieved by dividing
      some current ASoC structures that contain both driver data and device data into
      structures that only either contain device data or driver data. i.e.
      
       struct snd_soc_codec    --->  struct snd_soc_codec (device data)
                                +->  struct snd_soc_codec_driver (driver data)
      
       struct snd_soc_platform --->  struct snd_soc_platform (device data)
                                +->  struct snd_soc_platform_driver (driver data)
      
       struct snd_soc_dai      --->  struct snd_soc_dai (device data)
                                +->  struct snd_soc_dai_driver (driver data)
      
       struct snd_soc_device   --->  deleted
      
      This now allows ASoC to be more tightly aligned with the Linux driver model and
      also means that every ASoC codec, platform and (platform) DAI is a kernel
      device. ASoC component private data is now stored as device private data.
      
      The ASoC sound card struct snd_soc_card has also been updated to store lists
      of it's components rather than a pointer to a codec and platform. The PCM
      runtime struct soc_pcm_runtime now has pointers to all its components.
      
      This patch adds DAPM support for ASoC multi-component and removes struct
      snd_soc_socdev from DAPM core. All DAPM calls are now made on a card, codec
      or runtime PCM level basis rather than using snd_soc_socdev.
      
      Other notable multi-component changes:-
      
       * Stream operations now de-reference less structures.
       * close_delayed work() now runs on a DAI basis rather than looping all DAIs
         in a card.
       * PM suspend()/resume() operations can now handle N CODECs and Platforms
         per sound card.
       * Added soc_bind_dai_link() to bind the component devices to the sound card.
       * Added soc_dai_link_probe() and soc_dai_link_remove() to probe and remove
         DAI link components.
       * sysfs entries can now be registered per component per card.
       * snd_soc_new_pcms() functionailty rolled into dai_link_probe().
       * snd_soc_register_codec() now does all the codec list and mutex init.
      
      This patch changes the probe() and remove() of the CODEC drivers as follows:-
      
       o Make CODEC driver a platform driver
       o Moved all struct snd_soc_codec list, mutex, etc initialiasation to core.
       o Removed all static codec pointers (drivers now support > 1 codec dev)
       o snd_soc_register_pcms() now done by core.
       o snd_soc_register_dai() folded into snd_soc_register_codec().
      
      CS4270 portions:
      Acked-by: NTimur Tabi <timur@freescale.com>
      
      Some TLV320aic23 and Cirrus platform fixes.
      Signed-off-by: NRyan Mallon <ryan@bluewatersys.com>
      
      TI CODEC and OMAP fixes
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Signed-off-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      
      Samsung platform and misc fixes :-
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Reviewed-by: NJassi Brar <jassi.brar@samsung.com>
      Signed-off-by: NSeungwhan Youn <sw.youn@samsung.com>
      
      MPC8610 and PPC fixes.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      
      i.MX fixes and some core fixes.
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      
      J4740 platform fixes:-
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      
      CC: Tony Lindgren <tony@atomide.com>
      CC: Nicolas Ferre <nicolas.ferre@atmel.com>
      CC: Kevin Hilman <khilman@deeprootsystems.com>
      CC: Sascha Hauer <s.hauer@pengutronix.de>
      CC: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
      CC: Kuninori Morimoto <morimoto.kuninori@renesas.com>
      CC: Daniel Gloeckner <dg@emlix.com>
      CC: Manuel Lauss <mano@roarinelk.homelinux.net>
      CC: Mike Frysinger <vapier.adi@gmail.com>
      CC: Arnaud Patard <apatard@mandriva.com>
      CC: Wan ZongShun <mcuos.com@gmail.com>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      f0fba2ad
  32. 30 6月, 2009 2 次提交
  33. 27 5月, 2009 2 次提交