)]}'
{
  "commit": "69cea5a00d3135677939fce1fefe54ed522055a0",
  "tree": "2fa4752e87447f9d03828e0d11e04e37f41f0380",
  "parents": [
    "69dc14b51c1aad9d82afd8f96bf4e4835089bffc"
  ],
  "author": {
    "name": "Viresh Kumar",
    "email": "viresh.kumar@st.com",
    "time": "Fri Apr 15 16:03:35 2011 +0530"
  },
  "committer": {
    "name": "Vinod Koul",
    "email": "vinod.koul@intel.com",
    "time": "Fri May 13 19:40:07 2011 +0530"
  },
  "message": "dmaengine/dw_dmac: Replace spin_lock* with irqsave variants and enable submission from callback\n\ndmaengine routines can be called from interrupt context and with interrupts\ndisabled.  Whereas spin_unlock_bh can\u0027t be called from such contexts. So this\npatch converts all spin_*_bh routines to irqsave variants.\n\nAlso, spin_lock() used in tasklet is converted to irqsave variants, as tasklet\ncan be interrupted, and dma requests from such interruptions may also call\nspin_lock.\n\nNow, submission from callbacks are permitted as per dmaengine framework. So we\nshouldn\u0027t hold any locks while calling callbacks. As locks were taken by parent\nroutines, so releasing them before calling callbacks doesn\u0027t look clean enough.\nSo, locks are taken inside all routine now, whereever they are required. And\ndwc_descriptor_complete is always called without taking locks.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a9755e3dd60320270535f2a57bc46341cc82c8d0",
      "old_mode": 33188,
      "old_path": "drivers/dma/dw_dmac.c",
      "new_id": "442b98b81e7cae27f8c888a5cf0d65fb36c5192b",
      "new_mode": 33188,
      "new_path": "drivers/dma/dw_dmac.c"
    }
  ]
}
