)]}'
{
  "log": [
    {
      "commit": "0a82a6239beecc95db6e05fe43ee62d16b381d38",
      "tree": "524f6417ae8128f5b1da322872e860bd4af5840d",
      "parents": [
        "b2f46fd8ef3dff2ab30f31126833f78b7480283a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jul 14 12:20:37 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Aug 29 19:09:27 2009 -0700"
      },
      "message": "async_tx: add support for asynchronous RAID6 recovery operations\n\n async_raid6_2data_recov() recovers two data disk failures\n\n async_raid6_datap_recov() recovers a data disk and the P disk\n\nThese routines are a port of the synchronous versions found in\ndrivers/md/raid6recov.c.  The primary difference is breaking out the xor\noperations into separate calls to async_xor.  Two helper routines are\nintroduced to perform scalar multiplication where needed.\nasync_sum_product() multiplies two sources by scalar coefficients and\nthen sums (xor) the result.  async_mult() simply multiplies a single\nsource by a scalar.\n\nThis implemention also includes, in contrast to the original\nsynchronous-only code, special case handling for the 4-disk and 5-disk\narray cases.  In these situations the default N-disk algorithm will\npresent 0-source or 1-source operations to dma devices.  To cover for\ndma devices where the minimum source count is 2 we implement 4-disk and\n5-disk handling in the recovery code.\n\n[ Impact: asynchronous raid6 recovery routines for 2data and datap cases ]\n\nCc: Yuri Tikhonov \u003cyur@emcraft.com\u003e\nCc: Ilya Yanok \u003cyanok@emcraft.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n\n"
    },
    {
      "commit": "b2f46fd8ef3dff2ab30f31126833f78b7480283a",
      "tree": "9f111e3e313b4d142c12d2d8156a2704a36904f8",
      "parents": [
        "95475e57113c66aac7583925736ed2e2d58c990d"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jul 14 12:20:36 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Aug 29 19:09:27 2009 -0700"
      },
      "message": "async_tx: add support for asynchronous GF multiplication\n\n[ Based on an original patch by Yuri Tikhonov ]\n\nThis adds support for doing asynchronous GF multiplication by adding\ntwo additional functions to the async_tx API:\n\n async_gen_syndrome() does simultaneous XOR and Galois field\n    multiplication of sources.\n\n async_syndrome_val() validates the given source buffers against known P\n    and Q values.\n\nWhen a request is made to run async_pq against more than the hardware\nmaximum number of supported sources we need to reuse the previous\ngenerated P and Q values as sources into the next operation.  Care must\nbe taken to remove Q from P\u0027 and P from Q\u0027.  For example to perform a 5\nsource pq op with hardware that only supports 4 sources at a time the\nfollowing approach is taken:\n\np, q \u003d PQ(src0, src1, src2, src3, COEF({01}, {02}, {04}, {08}))\np\u0027, q\u0027 \u003d PQ(p, q, q, src4, COEF({00}, {01}, {00}, {10}))\n\np\u0027 \u003d p + q + q + src4 \u003d p + src4\nq\u0027 \u003d {00}*p + {01}*q + {00}*q + {10}*src4 \u003d q + {10}*src4\n\nNote: 4 is the minimum acceptable maxpq otherwise we punt to\nsynchronous-software path.\n\nThe DMA_PREP_CONTINUE flag indicates to the driver to reuse p and q as\nsources (in the above manner) and fill the remaining slots up to maxpq\nwith the new sources/coefficients.\n\nNote1: Some devices have native support for P+Q continuation and can skip\nthis extra work.  Devices with this capability can advertise it with\ndma_set_maxpq.  It is up to each driver how to handle the\nDMA_PREP_CONTINUE flag.\n\nNote2: The api supports disabling the generation of P when generating Q,\nthis is ignored by the synchronous path but is implemented by some dma\ndevices to save unnecessary writes.  In this case the continuation\nalgorithm is simplified to only reuse Q as a source.\n\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Yuri Tikhonov \u003cyur@emcraft.com\u003e\nSigned-off-by: Ilya Yanok \u003cyanok@emcraft.com\u003e\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n"
    },
    {
      "commit": "04ce9ab385dc97eb55299d533cd3af79b8fc7529",
      "tree": "9b8d0b9c1eba820a8a107d05abc2e2f8d4d20a59",
      "parents": [
        "a08abd8ca890a377521d65d493d174bebcaf694b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jun 03 14:22:28 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jun 03 14:22:28 2009 -0700"
      },
      "message": "async_xor: permit callers to pass in a \u0027dma/page scribble\u0027 region\n\nasync_xor() needs space to perform dma and page address conversions.  In\nmost cases the code can simply reuse the struct page * array because the\nsize of the native pointer matches the size of a dma/page address.  In\norder to support archs where sizeof(dma_addr_t) is larger than\nsizeof(struct page *), or to preserve the input parameters, we utilize a\nmemory region passed in by the caller.\n\nSince the code is now prepared to handle the case where it cannot\nperform address conversions on the stack, we no longer need the\n!HIGHMEM64G dependency in drivers/dma/Kconfig.\n\n[ Impact: don\u0027t clobber input buffers for address conversions ]\n\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n"
    },
    {
      "commit": "a08abd8ca890a377521d65d493d174bebcaf694b",
      "tree": "987c149a2d7d6ab345f426ac28191627b4a02a3e",
      "parents": [
        "88ba2aa586c874681c072101287e15d40de7e6e2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jun 03 11:43:59 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jun 03 14:07:35 2009 -0700"
      },
      "message": "async_tx: structify submission arguments, add scribble\n\nPrepare the api for the arrival of a new parameter, \u0027scribble\u0027.  This\nwill allow callers to identify scratchpad memory for dma address or page\naddress conversions.  As this adds yet another parameter, take this\nopportunity to convert the common submission parameters (flags,\ndependency, callback, and callback argument) into an object that is\npassed by reference.\n\nAlso, take this opportunity to fix up the kerneldoc and add notes about\nthe relevant ASYNC_TX_* flags for each routine.\n\n[ Impact: moves api pass-by-value parameters to a pass-by-reference struct ]\n\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n"
    },
    {
      "commit": "88ba2aa586c874681c072101287e15d40de7e6e2",
      "tree": "69a124fcd0a8a75ef9aae0cc4081bad83c770374",
      "parents": [
        "099f53cb50e45ef617a9f1d63ceec799e489418b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 09 16:16:18 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jun 03 14:07:34 2009 -0700"
      },
      "message": "async_tx: kill ASYNC_TX_DEP_ACK flag\n\nIn support of inter-channel chaining async_tx utilizes an ack flag to\ngate whether a dependent operation can be chained to another.  While the\nflag is not set the chain can be considered open for appending.  Setting\nthe ack flag closes the chain and flags the descriptor for garbage\ncollection.  The ASYNC_TX_DEP_ACK flag essentially means \"close the\nchain after adding this dependency\".  Since each operation can only have\none child the api now implicitly sets the ack flag at dependency\nsubmission time.  This removes an unnecessary management burden from\nclients of the api.\n\n[ Impact: clean up and enforce one dependency per operation ]\n\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n"
    },
    {
      "commit": "099f53cb50e45ef617a9f1d63ceec799e489418b",
      "tree": "fd57f259f58bcf615fe2b17734ed0cbec612782d",
      "parents": [
        "fd74ea65883c7e6903e9b652795f72b723a2be69"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 08 14:28:37 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 08 14:28:37 2009 -0700"
      },
      "message": "async_tx: rename zero_sum to val\n\n\u0027zero_sum\u0027 does not properly describe the operation of generating parity\nand checking that it validates against an existing buffer.  Change the\nname of the operation to \u0027val\u0027 (for \u0027validate\u0027).  This is in\nanticipation of the p+q case where it is a requirement to identify the\ntarget parity buffers separately from the source buffers, because the\ntarget parity buffers will not have corresponding pq coefficients.\n\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "28405d8d9ce05f5bd869ef8b48da5086f9527d73",
      "tree": "f3e68349cc38b4dc0a437455ba9513be78f620ae",
      "parents": [
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 05 17:14:31 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 05 18:10:19 2009 -0700"
      },
      "message": "async_tx, dmaengine: document channel allocation and api rework\n\n\"Wouldn\u0027t it be better if the dmaengine layer made sure it didn\u0027t pass\nthe same channel several times to a client?\n\nI mean, you seem concerned that the memcpy() API should be transparent\nand easy to use, but the whole registration interface is just\nridiculously complicated...\"\n\t- Haavard\n\nThe dmaengine and async_tx registration/allocation interface is indeed\nneedlessly complicated.  This redesign has the following goals:\n\n1/ Simplify reference counting: dma channels are not something one would\n   expect to be hotplugged, it should be an exceptional event handled by\n   drivers not something clients should be mandated to handle in a\n   callback.  The common case channel removal event is \u0027rmmod \u003cdma driver\u003e\u0027,\n   which for simplicity should be disallowed if the channel is in use.\n2/ Add an interface for requesting exclusive access to a channel\n   suitable to device-to-memory users.\n3/ Convert all memory-to-memory users over to a common allocator, the goal\n   here is to not have competing channel allocation schemes.  The only\n   competition should be between device-to-memory exclusive allocations and\n   the memory-to-memory usage case where channels are shared between\n   multiple \"clients\".\n\nCc: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n\n"
    },
    {
      "commit": "86f578de5ba6ea11ead9284d9f036fee01ba5893",
      "tree": "edfcf11355e017072b3cc41f28621659d288ce35",
      "parents": [
        "468577abe37ff7b453a9ac613e0ea155349203ae"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 15 19:00:06 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:14 2008 +1100"
      },
      "message": "[CRYPTO] doc: Update api-intro.txt\n\nThis patch updates the list of transforms we support and clarifies that\nthe Block Ciphers interface in fact supports all ciphers including stream\nciphers.\n\nIt also removes the obsolete Configuration Notes section and adds the\nlinux-crypto mailing list as the primary bug reporting address.\n\nFinally it documents the fact that setkey should only be called from\nuser context.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "c5d2b9f444b8d9f5ad7c5e583686c119ba3a9ba7",
      "tree": "a5c01a23566698bbaa7faadfff813fcbb9f5ac88",
      "parents": [
        "7bae705ef2c2daac1993de03e5be93b5c300fc5e"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Sep 20 15:49:08 2007 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Sep 24 10:26:25 2007 -0700"
      },
      "message": "async_tx: usage documentation and developer notes (v2)\n\nChanges in v2:\n* cleanups from Randy and Shannon\n\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReviewed-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "be2a608bd08ec00e19e14b322e07f443d2711084",
      "tree": "5050106052ad30cf5f78265d8427f2da1c0faee6",
      "parents": [
        "dd4ef01c4004410e6515d9dd0d92dec133c60b9b"
      ],
      "author": {
        "name": "John Anthony Kazos Jr",
        "email": "jakj@j-a-k-j.com",
        "time": "Wed May 09 08:50:42 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:58:19 2007 +0200"
      },
      "message": "documentation: convert the Documentation directory to UTF-8\n\nConvert files within the Documentation directory to UTF-8.\n\nAdrian Bunk:\nsmall additional fixes\n\nSigned-off-by: John Anthony Kazos Jr. \u003cjakj@j-a-k-j.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "58e40308f329275ccf556312a9cd788522f7c224",
      "tree": "52d054ccbbae1d0e516331fb41d8628ea6fcc5e0",
      "parents": [
        "f70ee5ec8fc59ba2d905e6daf0d395edf6fb461d"
      ],
      "author": {
        "name": "Johannes Schlumberger",
        "email": "asso@doriath.informatik.uni-erlangen.de",
        "time": "Wed Mar 21 08:55:58 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Mar 21 08:55:58 2007 +1100"
      },
      "message": "[CRYPTO] doc: Fix typo in hash example\n\nthere is a tiny bug in Documentation/crypto/api-intro.txt.\nThe file has the following example code:\n\nstruct scatterlist sg[2];\n[...]\nif (crypto_hash_digest(\u0026desc, \u0026sg, 2, result))\n\nwhich does not match the declaration of crypto_hash_digest() in\ninclude/linux/crypto.h.\n\n(static inline int crypto_hash_digest(struct hash_desc *desc,\n\tstruct scatterlist *sg, unsigned int nbytes, u8 *out)\n\nThe code in the example passes the address of a pointer (an array actually) as\nthe second argument, while the function expects the pointer itself.\n\nI have attached a patch to fix this.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "dc2e2f33bbf07344995357314fd8887f6564dba7",
      "tree": "6da1d238645e33efd21bca24a792aba2d8e7f523",
      "parents": [
        "6a0dc8d733de4aca958a73019877f96b4754d671"
      ],
      "author": {
        "name": "Noriaki TAKAMIYA",
        "email": "takamiya@po.ntts.co.jp",
        "time": "Sun Oct 22 15:06:46 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 07 09:21:05 2007 +1100"
      },
      "message": "[CRYPTO] doc: added the developer of Camellia cipher\n\nThis patch adds the developer of Camellia cipher algorithm.\n\nSigned-off-by: Noriaki TAKAMIYA \u003ctakamiya@po.ntts.co.jp\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "878b9014666217555d16073764f30e825cf18d2f",
      "tree": "cd7ab9f6f49dc0eb3cbfacd0abfc1a1daa243aaf",
      "parents": [
        "1b489e11d4df82514792f9f981f31976f8a94ddf"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 20 15:17:04 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:20 2006 +1000"
      },
      "message": "[CRYPTO] doc: Update documentation for hash and me\n\nThis patch updates the documentation to reflect the switch from digest\nto hash.  It also replaces notes about emailing James Morris to refer\nto me instead.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d533f671852cc4e481ea7070aa1a3b6fc75b8e44",
      "tree": "970419f90c377dbcfb4d8726460d62ad8c8fbac4",
      "parents": [
        "9de75d110c9681d4aaa7fe87b8db99d5562012a2"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@nuerscht.ch",
        "time": "Sat Sep 10 00:26:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:28 2005 -0700"
      },
      "message": "[PATCH] Spelling fixes for Documentation/\n\nThe attached patch fixes the following spelling errors in Documentation/\n        - double \"the\"\n        - Several misspellings of function/functionality\n        - infomation\n        - memeory\n        - Recieved\n        - wether\nand possibly others which I forgot ;-)\nTrailing whitespaces on the same line as the typo are also deleted.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@nuerscht.ch\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb4f10ed50f01b0f953068456bfb6e2885921b01",
      "tree": "e9eb4112522d7969fdc4bbf6455b6d0d59426121",
      "parents": [
        "75c80c382fbd08acf06fbef9d54c9844e806a8b4"
      ],
      "author": {
        "name": "Aaron Grothe",
        "email": "ajgrothe@yahoo.com",
        "time": "Thu Sep 01 17:42:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:42:46 2005 -0700"
      },
      "message": "[CRYPTO]: Fix XTEA implementation\n\nThe XTEA implementation was incorrect due to a misinterpretation of\noperator precedence.  Because of the wide-spread nature of this\nerror, the erroneous implementation will be kept, albeit under the\nnew name of XETA.\n\nSigned-off-by: Aaron Grothe \u003cajgrothe@yahoo.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
