)]}'
{
  "commit": "47ec7f09bc107720905c96bc37771e4ed1ff0aed",
  "tree": "d0d500633ad1d51812bc8ed04394e16859bc296c",
  "parents": [
    "c09a7ce668a666f1e044214647cb594940ba927c"
  ],
  "author": {
    "name": "Dave Jiang",
    "email": "dave.jiang@intel.com",
    "time": "Wed May 13 11:47:49 2020 -0700"
  },
  "committer": {
    "name": "Vinod Koul",
    "email": "vkoul@kernel.org",
    "time": "Wed Jun 17 19:45:14 2020 +0530"
  },
  "message": "dmaengine: cookie bypass for out of order completion\n\nThe cookie tracking in dmaengine expects all submissions completed in\norder. Some DMA devices like Intel DSA can complete submissions out of\norder, especially if configured with a work queue sharing multiple DMA\nengines. Add a status DMA_OUT_OF_ORDER that tx_status can be returned for\nthose DMA devices. The user should use callbacks to track the completion\nrather than the DMA cookie. This would address the issue of dmatest\ncomplaining that descriptors are \"busy\" when the cookie count goes\nbackwards due to out of order completion. Add DMA_COMPLETION_NO_ORDER\nDMA capability to allow the driver to flag the device\u0027s ability to complete\noperations out of order.\n\nReported-by: Swathi Kovvuri \u003cswathi.kovvuri@intel.com\u003e\nSigned-off-by: Dave Jiang \u003cdave.jiang@intel.com\u003e\nTested-by: Swathi Kovvuri \u003cswathi.kovvuri@intel.com\u003e\nLink: https://lore.kernel.org/r/158939557151.20335.12404113976045569870.stgit@djiang5-desk3.ch.intel.com\nSigned-off-by: Vinod Koul \u003cvkoul@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "56e5833e8a07bc0ec6d9c34acec077ab1959740e",
      "old_mode": 33188,
      "old_path": "Documentation/driver-api/dmaengine/provider.rst",
      "new_id": "ce68315482b1f218a0a1cd4013ff2c71e4b41865",
      "new_mode": 33188,
      "new_path": "Documentation/driver-api/dmaengine/provider.rst"
    },
    {
      "type": "modify",
      "old_id": "b175229a4b01d7992c2356d5134a754dd6bf98fe",
      "old_mode": 33188,
      "old_path": "drivers/dma/dmatest.c",
      "new_id": "18f10154ba191ce322d9f8d7ef1e308e8362c1fb",
      "new_mode": 33188,
      "new_path": "drivers/dma/dmatest.c"
    },
    {
      "type": "modify",
      "old_id": "c64c1429d160626e25590974d5daaed4a4a9793d",
      "old_mode": 33188,
      "old_path": "drivers/dma/idxd/dma.c",
      "new_id": "0c892cbd72e019251d6e5de364a44b6f6a4cb7db",
      "new_mode": 33188,
      "new_path": "drivers/dma/idxd/dma.c"
    },
    {
      "type": "modify",
      "old_id": "e1c03339918f99b2d48ccf245ec177baec04599d",
      "old_mode": 33188,
      "old_path": "include/linux/dmaengine.h",
      "new_id": "9f9a13a2c01f8c5279d4b23cbf582fae6b3b1524",
      "new_mode": 33188,
      "new_path": "include/linux/dmaengine.h"
    }
  ]
}
