)]}'
{
  "log": [
    {
      "commit": "d15bd7ee445d0702ad801fdaece348fdb79e6581",
      "tree": "6f18212787e77b9615c955506adda516206ecbac",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610"
      ],
      "author": {
        "name": "Sumit Semwal",
        "email": "sumit.semwal@ti.com",
        "time": "Mon Dec 26 14:53:15 2011 +0530"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jan 06 10:20:21 2012 +0000"
      },
      "message": "dma-buf: Introduce dma buffer sharing mechanism\n\nThis is the first step in defining a dma buffer sharing mechanism.\n\nA new buffer object dma_buf is added, with operations and API to allow easy\nsharing of this buffer object across devices.\n\nThe framework allows:\n- creation of a buffer object, its association with a file pointer, and\n   associated allocator-defined operations on that buffer. This operation is\n   called the \u0027export\u0027 operation.\n- different devices to \u0027attach\u0027 themselves to this exported buffer object, to\n  facilitate backing storage negotiation, using dma_buf_attach() API.\n- the exported buffer object to be shared with the other entity by asking for\n   its \u0027file-descriptor (fd)\u0027, and sharing the fd across.\n- a received fd to get the buffer object back, where it can be accessed using\n   the associated exporter-defined operations.\n- the exporter and user to share the scatterlist associated with this buffer\n   object using map_dma_buf and unmap_dma_buf operations.\n\nAtleast one \u0027attach()\u0027 call is required to be made prior to calling the\nmap_dma_buf() operation.\n\nCouple of building blocks in map_dma_buf() are added to ease introduction\nof sync\u0027ing across exporter and users, and late allocation by the exporter.\n\nFor this first version, this framework will work with certain conditions:\n- *ONLY* exporter will be allowed to mmap to userspace (outside of this\n   framework - mmap is not a buffer object operation),\n- currently, *ONLY* users that do not need CPU access to the buffer are\n   allowed.\n\nMore details are there in the documentation patch.\n\nThis is based on design suggestions from many people at the mini-summits[1],\nmost notably from Arnd Bergmann \u003carnd@arndb.de\u003e, Rob Clark \u003crob@ti.com\u003e and\nDaniel Vetter \u003cdaniel@ffwll.ch\u003e.\n\nThe implementation is inspired from proof-of-concept patch-set from\nTomasz Stanislawski \u003ct.stanislaws@samsung.com\u003e, who demonstrated buffer sharing\nbetween two v4l2 devices. [2]\n\n[1]: https://wiki.linaro.org/OfficeofCTO/MemoryManagement\n[2]: http://lwn.net/Articles/454389\n\nSigned-off-by: Sumit Semwal \u003csumit.semwal@linaro.org\u003e\nSigned-off-by: Sumit Semwal \u003csumit.semwal@ti.com\u003e\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nReviewed-by: Dave Airlie \u003cairlied@redhat.com\u003e\nReviewed-and-Tested-by: Rob Clark \u003crob.clark@linaro.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    }
  ]
}
