)]}'
{
  "commit": "01d7584cd2e5a93a2b959c9dddaa0d93ec205404",
  "tree": "1ed8fe39b490723195812dd562536e362b8027b0",
  "parents": [
    "f20c2cb9995eb8c5cd7084e11af7b54522ef0ab9"
  ],
  "author": {
    "name": "Liam Girdwood",
    "email": "lrg@ti.com",
    "time": "Wed Apr 25 12:12:49 2012 +0100"
  },
  "committer": {
    "name": "Mark Brown",
    "email": "broonie@opensource.wolfsonmicro.com",
    "time": "Thu Apr 26 17:48:19 2012 +0100"
  },
  "message": "ASoC: dpcm: Add Dynamic PCM core operations.\n\nThe Dynamic PCM core allows digital audio data to be dynamically\nrouted between different ALSA PCMs and DAI links on SoC CPUs with\non chip DSP devices. e.g. audio data could be played on pcm:0,0 and\nrouted to any (or all) SoC DAI links.\n\nDynamic PCM introduces the concept of Front End (FE) PCMs and Back\nEnd (BE) PCMs. The FE PCMs are normal ALSA PCM devices except that\nthey can dynamically route digital audio data to any supported BE\nPCM. A BE PCM has no ALSA device, but represents a DAI link and it\u0027s\nsubstream and audio HW parameters.\n\ne.g. pcm:0,0 routing digital data to 2 external codecs.\n\nFE pcm:0,0  ----\u003e BE (McBSP.0) ----\u003e CODEC 0\n             +--\u003e BE (McPDM.0) ----\u003e CODEC 1\n\ne.g. pcm:0,0 and pcm:0,1 routing digital data to 1 external codec.\n\nFE pcm:0,0 ---\n             +--\u003e BE (McBSP.0) ----\u003e CODEC\nFE pcm:0,1 ---\n\nThe digital audio routing is controlled by the usual ALSA method\nof mixer kcontrols. Dynamic PCM uses a DAPM graph to work out the\nrouting based upon the mixer settings and configures the BE PCMs\nbased on routing and the FE HW params.\n\nDPCM is designed so that most ASoC component drivers will need no\nmodification at all. It\u0027s intended that existing CODEC, DAI and\nplatform drivers can be used in DPCM based audio devices without\nany changes. However, there will be some cases where minor changes\nare required (e.g. for very tightly coupled HW) and there are\nhelpers to support this too.\n\nSomethimes the HW params of a FE and BE do not match or are\nincompatible, so in these cases the machine driver can reconfigure\nany hw_params and make any DSP perform sample rate / format conversion.\n\nThis patch adds the core DPCM code and contains :-\n\n o The FE and BE PCM operations.\n o FE and BE DAI link support.\n o FE and BE PCM creation.\n o BE support API.\n o BE and FE link management.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cd72c1090586aa83f5488e1521d341c5e2469052",
      "new_mode": 33188,
      "new_path": "include/sound/soc-dpcm.h"
    },
    {
      "type": "modify",
      "old_id": "1f38aa1653c8758782074f10154b4ae1f1332f4e",
      "old_mode": 33188,
      "old_path": "include/sound/soc.h",
      "new_id": "78aec854b6a1e24e95fab21f30a5337428bb8e86",
      "new_mode": 33188,
      "new_path": "include/sound/soc.h"
    },
    {
      "type": "modify",
      "old_id": "de97bf586c6bec7c16412b733066a5403a7e4dd0",
      "old_mode": 33188,
      "old_path": "sound/soc/soc-core.c",
      "new_id": "01220a5cf43e0f2db8584b75840022f32d0db97d",
      "new_mode": 33188,
      "new_path": "sound/soc/soc-core.c"
    },
    {
      "type": "modify",
      "old_id": "26a60b4061cfcf2ded2073ff42ae8837cb935722",
      "old_mode": 33188,
      "old_path": "sound/soc/soc-pcm.c",
      "new_id": "458f116aa570cd3c47487f7c210a6112f21e3ddb",
      "new_mode": 33188,
      "new_path": "sound/soc/soc-pcm.c"
    }
  ]
}
