An error occurred fetching the project authors.
  1. 23 Nov, 2011 1 commit
    • Eric Miao's avatar
      ASoC: skip resume of soc-audio devices without codecs · 5ff1ddf2
      Eric Miao authored
      There are cases where there is no working codec on the soc-audio devices,
      and snd_soc_suspend() will skip such device when suspending. Yet its
      counterpart snd_soc_resume() does not check this, causing complaints
      about spinlock lockup:
      
      [  176.726087] BUG: spinlock lockup on CPU#0, kworker/0:2/1067, d8ab82a8
      [  176.732539] [<80014a14>] (unwind_backtrace+0x0/0xec) from [<805b3fc8>] (dump_stack+0x20/0x24)
      [  176.741082] [<805b3fc8>] (dump_stack+0x20/0x24) from [<80322208>] (do_raw_spin_lock+0x118/0x158)
      [  176.749882] [<80322208>] (do_raw_spin_lock+0x118/0x158) from [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68)
      [  176.759723] [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68) from [<8002a020>] (__wake_up+0x2c/0x5c)
      [  176.768781] [<8002a020>] (__wake_up+0x2c/0x5c) from [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0)
      [  176.777666] [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0) from [<8004ee20>] (process_one_work+0x2e8/0x50c)
      [  176.787334] [<8004ee20>] (process_one_work+0x2e8/0x50c) from [<8004fd08>] (worker_thread+0x1c8/0x2e0)
      [  176.796566] [<8004fd08>] (worker_thread+0x1c8/0x2e0) from [<80053ec8>] (kthread+0xa4/0xb0)
      [  176.804843] [<80053ec8>] (kthread+0xa4/0xb0) from [<8000ea70>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: default avatarEric Miao <eric.miao@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      5ff1ddf2
  2. 18 Oct, 2011 1 commit
  3. 11 Oct, 2011 1 commit
  4. 08 Oct, 2011 2 commits
  5. 05 Oct, 2011 3 commits
  6. 04 Oct, 2011 1 commit
    • Mark Brown's avatar
      ASoC: Do DAPM power checks only for widgets changed since last run · db432b41
      Mark Brown authored
      In order to reduce the number of DAPM power checks we run keep a list of
      widgets which have been changed since the last DAPM run and iterate over
      that rather than the full widget list. Whenever we change the power state
      for a widget we add all the source and sink widgets it has to the dirty
      list, ensuring that all widgets in the path are checked.
      
      This covers more widgets than we need to as some of the neighbour widgets
      won't be connected but it's simpler as a first step. On one system I tried
      this gave:
      
                 Power    Path   Neighbour
      Before:    207      1939   2461
      After:     114      1066   1327
      
      which seems useful.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      db432b41
  7. 03 Oct, 2011 1 commit
  8. 28 Sep, 2011 1 commit
    • Mark Brown's avatar
      ASoC: Allow DAI formats to be specified in the dai_link · 75d9ac46
      Mark Brown authored
      For almost all machines the DAI format is a constant, always set to the
      same thing. This means that not only should we normally set it on init
      rather than in hw_params() (where it has been for historical reasons) we
      should also allow users to configure this by setting a variable in the
      dai_link structure. The combination of these two will make many machine
      drivers even more data driven.
      
      Implement a new dai_fmt field in the dai_link doing just that. Since 0 is
      a valid value for many format flags and we need to be able to tell if the
      field is actually set also add one to all the values used to configure
      formats.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      75d9ac46
  9. 21 Sep, 2011 1 commit
  10. 08 Sep, 2011 1 commit
  11. 31 Aug, 2011 3 commits
  12. 22 Aug, 2011 2 commits
  13. 01 Aug, 2011 1 commit
  14. 25 Jul, 2011 1 commit
  15. 19 Jul, 2011 2 commits
  16. 05 Jul, 2011 5 commits
  17. 04 Jul, 2011 1 commit
  18. 02 Jul, 2011 1 commit
  19. 09 Jun, 2011 2 commits
    • Liam Girdwood's avatar
      ASoC: core - PCM mutex per rtd · b8c0dab9
      Liam Girdwood authored
      In preparation for the new ASoC Dynamic PCM support (AKA DSP support).
      
      The new ASoC Dynamic PCM core allows DAIs to be dynamically re-routed
      at runtime between the PCM device end (or Frontend - FE) and the physical DAI
      (Backend - BE) using regular kcontrols (just like a hardware CODEC routes
      audio in the analog domain). The Dynamic PCM core therefore must be
      able to call PCM operations for both the Frontend and Backend(s) DAIs at
      the same time.
      
      Currently we have a global pcm_mutex that is used to serialise
      the ASoC PCM operations. This patch removes the global mutex
      and adds a mutex per RTD allowing the PCM operations to be reentrant and
      allow control of more than one DAI at at time. e.g. a frontend PCM hw_params()
      could configure multiple backend DAI hw_params() with similar or different
      hw parameters at the same time.
      Signed-off-by: default avatarLiam Girdwood <lrg@ti.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      b8c0dab9
    • Liam Girdwood's avatar
      ASoC: core - Separate out PCM operations into new file. · ddee627c
      Liam Girdwood authored
      In preparation for Dynamic PCM support (AKA DSP support).
      
      There will be future patches that add support to allow PCMs to be dynamically
      routed to multiple DAIs at startup and also during stream runtime. This patch
      moves the ASoC core PCM operaitions into a new file called soc-pcm.c.  This will
      in simplify the ASoC core features into distinct files.
      Signed-off-by: default avatarLiam Girdwood <lrg@ti.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      ddee627c
  20. 07 Jun, 2011 2 commits
  21. 06 Jun, 2011 1 commit
  22. 26 May, 2011 1 commit
    • Stephen Warren's avatar
      ASoC: core: Don't schedule deferred_resume_work twice · 82e14e8b
      Stephen Warren authored
      For cards that have two or more DAIs, snd_soc_resume's loop over all
      DAIs ends up calling schedule_work(deferred_resume_work) once per DAI.
      Since this is the same work item each time, the 2nd and subsequent
      calls return 0 (work item already queued), and trigger the dev_err
      message below stating that a work item may have been lost.
      
      Solve this by adjusting the loop to simply calculate whether to run the
      resume work immediately or defer it, and then call schedule work (or not)
      one time based on that.
      
      Note: This has not been tested in mainline, but only in chromeos-2.6.38;
      mainline doesn't support suspend/resume on Tegra, nor does the mainline
      Tegra ASoC driver contain multiple DAIs. It has been compile-checked in
      mainline.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarLiam Girdwood <lrg@ti.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      82e14e8b
  23. 24 May, 2011 2 commits
  24. 22 May, 2011 1 commit
  25. 16 May, 2011 1 commit
    • Stephen Boyd's avatar
      ASoC: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning · 34e268d8
      Stephen Boyd authored
      Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following
      warning:
      
      In file included from arch/x86/include/asm/uaccess.h:573,
                       from include/linux/poll.h:14,
                       from include/sound/pcm.h:29,
                       from include/sound/ac97_codec.h:31,
                       from sound/soc/soc-core.c:34:
      In function 'copy_from_user',
          inlined from 'codec_reg_write_file' at
          sound/soc/soc-core.c:252:
      arch/x86/include/asm/uaccess_64.h:65:
      warning: call to 'copy_from_user_overflow' declared with
      attribute warning: copy_from_user() buffer size is not provably
      correct
      
      presumably due to buf_size being signed causing GCC to fail to
      see that buf_size can't become negative.
      Acked-by: default avatarLiam Girdwood <lrg@ti.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      34e268d8
  26. 12 May, 2011 1 commit