1. 28 Nov, 2011 1 commit
  2. 27 Nov, 2011 10 commits
  3. 25 Nov, 2011 10 commits
  4. 24 Nov, 2011 10 commits
  5. 23 Nov, 2011 9 commits
    • Mark Brown's avatar
    • Stephen Warren's avatar
      ASoC: TrimSlice machine: Set the new fully_routed flag · 504855d1
      Stephen Warren authored
      Set card.fully_routed to request the ASoC core calculated unused codec
      pins, and call snd_soc_dapm_nc_pin() for them. Remove the open-coded
      calls.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      504855d1
    • Stephen Warren's avatar
      ASoC: Tegra+WM903 machine: Set the new fully_routed flag · 6e5fdba9
      Stephen Warren authored
      Set card.fully_routed to request the ASoC core calculated unused codec
      pins, and call snd_soc_dapm_nc_pin() for them. Remove the open-coded
      calls.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      6e5fdba9
    • Stephen Warren's avatar
      ASoC: Implement fully_routed card property · 1633281b
      Stephen Warren authored
      A card is fully routed if the DAPM route table describes all connections on
      the board.
      
      When a card is fully routed, some operations can be automated by the ASoC
      core. The first, and currently only, such operation is described below, and
      implemented by this patch.
      
      Codecs often have a large number of external pins, and not all of these pins
      will be connected on all board designs. Some machine drivers therefore call
      snd_soc_dapm_nc_pin() for all the unused pins, in order to tell the ASoC core
      never to activate them.
      
      However, when a card is fully routed, the information needed to derive the
      set of unused pins is present in card->dapm_routes. In this case, have
      the ASoC core automatically call snd_soc_dapm_nc_pin() for each unused
      codec pin.
      
      This has been tested with soc/tegra/tegra_wm8903.c and soc/tegra/trimslice.c.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      1633281b
    • Stephen Warren's avatar
      ASoC: Tegra I2S: Remove dependency on pdev->id · d4a2eca7
      Stephen Warren authored
      When devices are instantiated from device-tree, pdev->id is set to -1.
      Rework the driver so it doesn't depend on the ID.
      
      Tegra I2S instantiated from board files are configured with pdev
      name "tegra-i2s" and ID 0 or 1. The driver core then names the
      device "tegra-i2s.0" or "tegra-i2s.1". This is not changing.
      
      When a device is instantiated from device-tree, it will have
      pdev->name="" and pdev->id=-1. For this reason, the pdev->id value is
      not something we can rely on.
      
      This patch doesn't actually change any names though:
      
      When a device is instantiated from device-tree, the overall device name
      will be "${unit_address}.${node_name}". This causes issues such as
      clk_get() failures due to lack of a device-name match. To solve that,
      AUXDATA was invented, to force a specific device name, thus allowing
      dev_name() to return the same as the non-device-tree case. Tegra
      currently uses AUXDATA for the I2S controllers. Eventually, AUXDATA will
      go away, most likely replaced by phandle-based references within the
      device tree.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      d4a2eca7
    • Mark Brown's avatar
    • Mark Brown's avatar
      Merge branch 'for-3.2' into for-3.3 · 983a150a
      Mark Brown authored
      983a150a
    • 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
    • Mark Brown's avatar
      Merge branch 'for-3.2' into for-3.3 · 193b2f3f
      Mark Brown authored
      193b2f3f