)]}'
{
  "commit": "e04748e3a87271fcf30d383e3780c5d3ee1c1618",
  "tree": "1e1053837fcde0761673cbba6140514630a372ed",
  "parents": [
    "b10de142119a676552df3f0d2e3a9d647036c26a"
  ],
  "author": {
    "name": "Sarah Sharp",
    "email": "sarah.a.sharp@linux.intel.com",
    "time": "Mon Apr 27 19:59:01 2009 -0700"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Mon Jun 15 21:44:49 2009 -0700"
  },
  "message": "USB: Push scatter gather lists down to host controller drivers.\n\nThis is the original patch I created before David Vrabel posted a better\npatch (http://marc.info/?l\u003dlinux-usb\u0026m\u003d123377477209109\u0026w\u003d2) that does\nbasically the same thing.  This patch will get replaced with his\n(modified) patch later.\n\nAllow USB device drivers that use usb_sg_init() and usb_sg_wait() to push\nbulk endpoint scatter gather lists down to the host controller drivers.\nThis allows host controller drivers to more efficiently enqueue these\ntransfers, and allows the xHCI host controller to better take advantage of\nUSB 3.0 \"bursts\" for bulk endpoints.\n\nThis patch currently only enables scatter gather lists for bulk endpoints.\nOther endpoint types that use the usb_sg_* functions will not have their\nscatter gather lists pushed down to the host controller.  For periodic\nendpoints, we want each scatterlist entry to be a separate transfer.\nEventually, HCDs could parse these scatter-gather lists for periodic\nendpoints also.  For now, we use the old code and call usb_submit_urb()\nfor each scatterlist entry.\n\nThe caller of usb_sg_init() can request that all bytes in the scatter\ngather list be transferred by passing in a length of zero.  Handle that\nrequest for a bulk endpoint under xHCI by walking the scatter gather list\nand calculating the length.  We could let the HCD handle a zero length in\nthis case, but I\u0027m not sure if the core layers in between will get\nconfused by this.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b2da4753b12e168e9548d0f8b8ad309a042decee",
      "old_mode": 33188,
      "old_path": "drivers/usb/core/hcd.c",
      "new_id": "1609623ec829d43ba7f5903de249f7749943e094",
      "new_mode": 33188,
      "new_path": "drivers/usb/core/hcd.c"
    },
    {
      "type": "modify",
      "old_id": "3a2e69ec2f2946b56031c3b9c2ed2db49b4eac1d",
      "old_mode": 33188,
      "old_path": "drivers/usb/core/message.c",
      "new_id": "2bed83caacb1a0c714a2e05af21242bbb504dcad",
      "new_mode": 33188,
      "new_path": "drivers/usb/core/message.c"
    },
    {
      "type": "modify",
      "old_id": "13bced521b83ff77bf8d3ab8f1eeee6e5e47f137",
      "old_mode": 33188,
      "old_path": "include/linux/usb.h",
      "new_id": "0a1819a64974fd7e2c0c268525661569b35fb0f6",
      "new_mode": 33188,
      "new_path": "include/linux/usb.h"
    }
  ]
}
