)]}'
{
  "log": [
    {
      "commit": "30afc84cf7325e88fb9746340eba3c161080ff49",
      "tree": "829ea31d6ab095bd7a35651cd6018205a2b21d11",
      "parents": [
        "d04cdb64212eb5ae6a98026a97dda626e40e8e9a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Mar 18 18:40:14 2006 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 21 13:07:05 2006 -0600"
      },
      "message": "[SCSI] libata: implement minimal transport template for -\u003eeh_timed_out\n\nSCSI midlayer has moved hostt-\u003eeh_timed_out to transport template.  As\nlibata doesn\u0027t need full-blown transport support yet, implement\nminimal transport for libata.  No transport class or whatsoever, just\nempty transport template with -\u003eeh_timed_out hook.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "1da7b0d01b20bf21f3263d8d2f17fa49a214d773",
      "tree": "ed68984a55447d5620adbe885d9479bf96213bd6",
      "parents": [
        "2e755f68ee23b03484fde18d978f910cc5479cb8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Mar 06 04:31:56 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Mar 11 19:03:38 2006 -0500"
      },
      "message": "[PATCH] libata: improve xfer mask constants and update ata_mode_string()\n\nAdd ATA_BITS_*, ATA_MASK_* macros and reorder xfer_mask fields such\nthat higher transfer mode is placed at higher order bit.  As thie\nreordering breaks ata_mode_string(), this patch also rewrites\nata_mode_string().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2e755f68ee23b03484fde18d978f910cc5479cb8",
      "tree": "5b5947906b3ae286c1250f2bf7726263ce9579d7",
      "parents": [
        "507ceda00302c071029277652d9faa5a0a55419a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Mar 05 15:29:09 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Mar 11 17:57:21 2006 -0500"
      },
      "message": "[PATCH] libata: rename ATA_FLAG_FLUSH_PIO_TASK to ATA_FLAG_FLUSH_PORT_TASK\n\nRename ATA_FLAG_FLUSH_PIO_TASK to ATA_FLAG_FLUSH_PORT_TASK.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "507ceda00302c071029277652d9faa5a0a55419a",
      "tree": "603cbc777845d37e2045be96f5f9f1c27d7fe33a",
      "parents": [
        "8061f5f0a04cfd2bc7aa273596ad3fcd426f8eea"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Mar 05 15:29:09 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Mar 11 17:57:20 2006 -0500"
      },
      "message": "[PATCH] libata: kill unused pio_task and packet_task\n\nKill unused pio_task and packet_task.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "86e45b6bd6900c4a0b3666fb18b46e215f775c4f",
      "tree": "5b86ebd0b0b17d05bdfdd07b7683f7348577b52a",
      "parents": [
        "d7fc3ca1cd0ecce82263299c6b1631fc83b0ec79"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Mar 05 15:29:09 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Mar 11 17:57:20 2006 -0500"
      },
      "message": "[PATCH] libata: implement port_task\n\nImplement port_task.  LLDD\u0027s can schedule a function to be executed\nwith context after specified delay.  libata core takes care of\nsynchronization against EH.  This is generalized form of pio_task and\npacket_task which are tied to PIO hsm implementation.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "623a3128aa2b86caa8e06e762e9e444177e4fa47",
      "tree": "3e861e10c2963a22d2f097e5545fdcd865667602",
      "parents": [
        "4c2d721ab6413ee4ff33617ed1413458261f36ea"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Mar 05 17:55:58 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Mar 05 11:09:42 2006 -0500"
      },
      "message": "[PATCH] libata: implement ata_dev_revalidate()\n\nata_dev_revalidate() re-reads IDENTIFY PAGE of the given device and\nmakes sure it\u0027s the same device as the configured one.  Once it\u0027s\nverified that it\u0027s the same device, @dev is configured according to\nnewly read IDENTIFY PAGE.  Note that revalidation currently doesn\u0027t\ninvoke transfer mode reconfiguration.\n\nCriteria for \u0027same device\u0027\n\n* same class (of course)\n* same model string\n* same serial string\n* if ATA, same n_sectors (to catch geometry parameter changes)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4b2f3ededc035525038a7a9247074243dac6b351",
      "tree": "bec580eaa78fc8383773b8378e9736551ff955a1",
      "parents": [
        "ffeae418c12a304f6a9b6468043954d4e67a2b1e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 01 16:09:36 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 03 17:31:04 2006 -0500"
      },
      "message": "[PATCH] libata: fold ata_dev_config() into ata_dev_configure()\n\nata_dev_config() needs to be done everytime a device is configured.\nFold it into ata_dev_configure().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d9572b1d5e60b63e27e17f1f7771c5a26dd5d81e",
      "tree": "d102151d0e1b4014c920def6a3257f031ffd56d6",
      "parents": [
        "d133ecab8ff1233c2eb3ecb94f7956aa10002300"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 01 16:09:35 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 03 17:31:04 2006 -0500"
      },
      "message": "[PATCH] libata: convert dev-\u003eid to pointer\n\nConvert dev-\u003eid from array to pointer.  This is to accomodate\nrevalidation.  During revalidation, both old and new IDENTIFY pages\nshould be accessible and single -\u003eid array doesn\u0027t cut it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "597afd21401c85bdf9441830abf431c2be6fd45f",
      "tree": "bf03f9f0abc7a075fe15bf6404d7c6b90632ecaa",
      "parents": [
        "348edc59a8f9b9a66700781d972c24a46a79ae86"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 01 01:25:38 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 03 15:39:54 2006 -0500"
      },
      "message": "[PATCH] libata: seperate out ata_class_present()\n\nSeperate out ata_class_present() from ata_dev_present().  This is\nuseful because new reset mechanism deals with classes[] directly.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f131883e73a8662dc92c3ea371ae9ded0c8f2c37",
      "tree": "acd45903e321cf04df825da8d05ee06dabc1d8aa",
      "parents": [
        "ccbe6d5ee0eb3182675ef1c84322810fd884586d",
        "2e242fa994428bd1a40b6a7e97430413246d0a16"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Feb 20 16:55:56 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Feb 20 16:55:56 2006 -0500"
      },
      "message": "Merge branch \u0027upstream-fixes\u0027\n"
    },
    {
      "commit": "cc1887f3d8ae8ea61efa1a75af8ec0467b9dd546",
      "tree": "3d02d3dfef8803fe9130ebac2172b6271b907109",
      "parents": [
        "9ae61c6cb69f5251d160576c324948805f97e901"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Feb 20 23:48:38 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Feb 20 16:48:18 2006 -0500"
      },
      "message": "[PATCH] libata: fix qc-\u003en_elem \u003d\u003d 0 case handling in ata_qc_next_sg\n\nThis patch makes ata_for_each_sg() start with pad_sgent when\nqc-\u003en_elem is zero.  Previously, ata_for_each_sg() unconditionally\nstarted with qc-\u003e__sg, handling the first sg to fill_sg() routines\neven when the entry was invalid.  And while at it, unwind ?: in\nata_qc_next_sg() into if statement.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "6a62a04d4705df4f9f9bee39e889b9e920eeca47",
      "tree": "ea1b13e887740b69f7cd24e602802599c3fb8e76",
      "parents": [
        "5b2ffed906a3ebd4e52a5bbef06b99a517c53e4b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Feb 13 10:02:46 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Feb 20 04:54:22 2006 -0500"
      },
      "message": "[PATCH] libata: rename ata_dev_id_[c_]string()\n\nThis patch renames ata_dev_id_[c_]string() to ata_id_[c_]string().\nAll other functions which read data from ATA ID data start with ata_id\nand those two function names were getting too long.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "b00eec1d58ee71131375bfeb86e64bceec3f5618",
      "tree": "03536ad3ecc61d42da0611f40a51fedcd44192b5",
      "parents": [
        "6e7846e9c548443c86cfbad9e4defb4bdcfc538b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Feb 12 23:32:59 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Feb 12 14:36:30 2006 -0500"
      },
      "message": "[PATCH] libata: add per-device max_sectors\n\nIf a low level driver wants to control max_sectors, it had to adjust\nap-\u003ehost-\u003emax_sectors and set ATA_DFLAG_LOCK_SECTORS to tell\nata_scsi_slave_config not to override the limit.  This is not only\ncumbersome but also incorrect for hosts which support more than one\ndevices per port.\n\nThis patch adds per-device -\u003emax_sectors.  If the field is unset\n(zero), libata core layer will adjust -\u003emax_sectors according to\ndefault rules.  If the field is set, libata honors the setting.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "6e7846e9c548443c86cfbad9e4defb4bdcfc538b",
      "tree": "f92fe0c3ca0000ad7d68bb3caae10d2066a7f78e",
      "parents": [
        "8eabd02c246b808e0e27c3ee9ea17d0349efb06d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Feb 12 23:32:58 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Feb 12 14:29:10 2006 -0500"
      },
      "message": "[PATCH] libata: move cdb_len for host to device\n\ncdb_len is per-device property.  Sharing cdb_len on ap results in\ninaccurate configuration on revalidation and hotplugging.  This patch\nmakes cdb_len per-device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "0e949ff304a7ca07db38c17fbbf3ead1085d7bbf",
      "tree": "ecc4834d27e221863dc5dbef3c13763dbdf4dd56",
      "parents": [
        "48f80e12abbc1e9034e54614c30e7c304209ce99"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Feb 12 22:47:04 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Feb 12 14:24:41 2006 -0500"
      },
      "message": "[PATCH] libata: implement ata_dev_id_c_string()\n\nata_dev_id_c_string() reads ATA string from the specified offset of\nthe given IDENTIFY PAGE and puts it in the specified buffer in trimmed\nand NULL-terminated form.  The caller must supply a buffer which is\none byte larger than the maximum size of the target ID string.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "bef4a456b8dc8b3638f4d49a25a89e1467da9483",
      "tree": "c8c9a6ca26f2e6cf75db0623fb1f395330fbe6ca",
      "parents": [
        "beec7dbc6ff003bbc94de62b3323519c878fb2ac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Feb 11 19:11:13 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Feb 11 17:51:57 2006 -0500"
      },
      "message": "[PATCH] libata: kill assert() macro\n\nlibata assert() now has no user left.  Kill it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "76014427e60f7ecfdc689dfbcb48e9760e1da4fb",
      "tree": "cf885f718315ed7819fd8f6f4a375540847baf2f",
      "parents": [
        "cbefa3258eade263dbc9ae2c1f1ea2ca96e6b457"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Feb 11 15:13:49 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Feb 11 17:51:56 2006 -0500"
      },
      "message": "[PATCH] libata: inline ata_qc_complete()\n\nThis patch inlines ata_qc_complete() and uninlines __ata_qc_complete()\nas suggested by Jeff Garzik.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "f29841e08fa20a7f2c8bc1b70306975299c66ee7",
      "tree": "c2f6c87cf79fbd36ec49ea3c2247a382da5d75cc",
      "parents": [
        "341963b909a01d2f38d86f5db8dd1f8c80bd6dbf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Feb 10 15:10:48 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Feb 10 06:50:46 2006 -0500"
      },
      "message": "[PATCH] libata: implement ata_scsi_timed_out()\n\nImplement ata_scsi_timed_out(), to be used as\nscsi_host_template-\u003eeh_timed_out callback for all libata drivers.\nWithout this function, the following race exists.\n\nIf a qc completes after SCSI timer expires but before libata EH kicks\nin, the qc gets completed but the scsicmd still gets passed to libata\nEH resulting in -\u003eeng_timeout invocation with NULL qc, which none is\nhandling properly.\n\nThis patch makes sure that scmd and qc share the same lifetime.\nOriginal idea from Jeff Garzik \u003cjgarzik@pobox.com\u003e.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "341963b909a01d2f38d86f5db8dd1f8c80bd6dbf",
      "tree": "b19def143135b45b64d62e4e048aaae5b711696f",
      "parents": [
        "1fdffbce0332b3e00993d741e76935e7f4f0d40f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Feb 10 15:10:48 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Feb 10 06:50:45 2006 -0500"
      },
      "message": "[PATCH] libata: add ATA_QCFLAG_EH_SCHEDULED\n\nAdd ATA_QCFLAG_EH_SCHEDULED.  If this flag is set, the qc is owned by\nEH and normal completion path is not allowed to finish it.  This patch\ndoesn\u0027t actually use this flag.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "8a19ac89edbe9b702c10fd2039b8cb2db4644a5f",
      "tree": "9241f1ec6d1a8e713ca60e6e5d098a11beb0dfdf",
      "parents": [
        "7944ea9522ce0ea32d57894b3dc2540b0bdca66e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 02 18:20:00 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Feb 09 01:59:52 2006 -0500"
      },
      "message": "[PATCH] libata: implement ata_std_probeinit()\n\nThis patch implements the off-the-shelf probeinit component operation.\nCurrently, all it does is waking up the PHY if it\u0027s a SATA port.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "7944ea9522ce0ea32d57894b3dc2540b0bdca66e",
      "tree": "ad45c0cccefa40c2b91fbeee6bfa156fa04aeeb4",
      "parents": [
        "5140788f77d71b4f05fde217adbfb0c92f28f20c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 02 18:20:00 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Feb 09 01:59:52 2006 -0500"
      },
      "message": "[PATCH] libata: add probeinit component operation to ata_drive_probe_reset()\n\nThis patch adds probeinit component operation to\nata_drive_probe_reset().  If present, this new operation is called\nbefore performing any reset.  The operations\u0027s roll is to prepare @ap\nfor following probe-reset operations.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c18d06f89fd09ee0059c4899e615c471d59af66a",
      "tree": "445617ceee37299d0856e54a945957102728cb0b",
      "parents": [
        "dde44589bf9fac0168c6ce6d097c99c33b18074f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 02 00:56:10 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Feb 09 01:18:38 2006 -0500"
      },
      "message": "[PATCH] libata: EH / pio tasks synchronization\n\nThis patch makes sure that pio tasks are flushed before proceeding\nwith EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "dde44589bf9fac0168c6ce6d097c99c33b18074f",
      "tree": "ee68375254528cd19fbaa66969634c7a2fd87a6f",
      "parents": [
        "725b2805fd5d729b0db59fe8fc992e97523782c7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 02 00:56:10 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Feb 09 01:18:37 2006 -0500"
      },
      "message": "[PATCH] libata: implement ATA_FLAG_IN_EH port flag\n\nATA_FLAG_IN_EH flag is set on entry to EH and cleared on completion.\nThis patch just sets and clears the flag.  Following patches will\nbuild normal qc execution / EH synchronization aroung this flag.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c2bd58047b9b5c91a3b0a851de66a877f2eb7ae3",
      "tree": "aaaa1cc9da06699c6d68e88dba5e304ae5788a3c",
      "parents": [
        "a62c0fc526c344d8163f7a9e45e68cc63826ffd3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 24 17:05:22 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Jan 27 20:58:34 2006 -0500"
      },
      "message": "[PATCH] libata: implement standard reset component operations and -\u003eprobe_reset\n\nImplement SRST, COMRESET and standard postreset component operations\nfor ata_drive_probe_reset(), and use these three functions to\nimplement ata_std_probe_reset.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a62c0fc526c344d8163f7a9e45e68cc63826ffd3",
      "tree": "d803a14848eb785f63b5f9e2d0b3f19afa0bda9d",
      "parents": [
        "c19ba8af4f104cca28d548cac55c128b28dd31fb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 24 17:05:22 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Jan 27 20:58:34 2006 -0500"
      },
      "message": "[PATCH] libata: implement ata_drive_probe_reset()\n\nMost low level drivers share supported reset/classify actions and\nsequence.  This patch implements ata_drive_probe_reset() which helps\nconstructing -\u003eprobe_reset from three component operations -\nsoftreset, hardreset and postreset.  This minimizes duplicate code and\nyet allows flexibility if needed. The three component operations can\nalso be shared by EH later.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c19ba8af4f104cca28d548cac55c128b28dd31fb",
      "tree": "2624b544c0f8294a712b3255695b1e178943255a",
      "parents": [
        "b4dc7623c1bb258b66418261dab40f0e4cfc6d42"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 24 17:05:22 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 26 23:20:14 2006 -0500"
      },
      "message": "[PATCH] libata: new -\u003eprobe_reset operation\n\nAdd new -\u003eprobe_reset operation to ata_port_operations obsoleting\n-\u003ephy_reset.  The main difference from -\u003ephy_reset is that the new\noperation is not allowed to manipulate libata internals directly.\nIt\u0027s not allowed to configure or disable the port or devices.  It can\nonly succeed or fail and classify attached devices into passed\n@classes.\n\nThis change gives more control to higher level and eases sharing reset\nmethods with EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "6f8b99589524f3e759e44721376abcdf88ed8915",
      "tree": "ea187cf272f560faaba4ffb6d34848f6f517203e",
      "parents": [
        "22b49985f526796471c074c0e56bcebfd633a6ff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 24 17:05:21 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 26 23:18:47 2006 -0500"
      },
      "message": "[PATCH] libata: export ata_busy_sleep\n\nExport ata_busy_sleep(), to be used by low level driver reset functions.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a72ec4ce6d3ae92e76baf5b2c65cc26e5e775e83",
      "tree": "f5a177cc30c9b39d8ae7dcad29d03d27534b9f78",
      "parents": [
        "041c5fc33cb7ed4fe5322585a611fb6e29a05d3a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jan 23 13:09:37 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 26 22:36:28 2006 -0500"
      },
      "message": "[PATCH] libata: implement and apply ata_eh_qc_complete/retry()\n\nImplement ata_eh_qc_complete/retry() using scsi_eh_finish_cmd() and\nscsi_eh_flush_done_q().  This removes all eh scsicmd finish hacks from\nlow level drivers.\n\nThis change was first suggested by Jeff Garzik.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "9a3d9eb0177eb10500d49cd283b35576082a522d",
      "tree": "3a8279ea3f263338cd02918131a36ee716cad1a8",
      "parents": [
        "11a56d2439259892319df81cf1582687d7e7fde5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jan 23 13:09:36 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 26 22:36:27 2006 -0500"
      },
      "message": "[PATCH] libata: return AC_ERR_* from issue functions\n\nReturn AC_ERR_* mask from issue fuctions instead of 0/-1.  This\nenables things like failing a qc with AC_ERR_HSM when the device\ndoesn\u0027t set DRDY when the qc is about to be issued.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "11a56d2439259892319df81cf1582687d7e7fde5",
      "tree": "976f5ecb7ff61c19620ca482c0550b0b009bfa6a",
      "parents": [
        "284b6481cc7112ca6a9e60b7a9b650fba3bf0492"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jan 23 13:09:36 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 26 22:36:27 2006 -0500"
      },
      "message": "[PATCH] libata: add detailed AC_ERR_* flags\n\nAdd detailed AC_ERR_* flags and use them.  Long-term goal is to\ndescribe all errors with err_mask and tf combination (tf for failed\nsector information, etc...).  After proper error diagnosis is\nimplemented, sense data should also be generated from err_mask instead\nof directly from hardware tf registers as it is currently.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "77853bf2b48e34449e826a9ef4df5ea0dbe947f4",
      "tree": "b46a186c141c61f05352b7a1199b2940fd9a2065",
      "parents": [
        "4ba946e9d8e10fada7bbce527f6ea05842592e06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jan 23 13:09:36 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 26 22:33:49 2006 -0500"
      },
      "message": "[PATCH] libata: make the owner of a qc responsible for freeing it\n\nqc used to be freed automatically on command completion.  However, as\na qc can carry information about its completion status, it can be\nuseful to its owner/issuer after command completion.  This patch makes\nfreeing qc responsibility of its owner.  This simplifies\nata_exec_internal() and makes command turn-around for atapi request\nsensing less hackish.\n\nThis change was originally suggested by Jeff Garzik.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "8a6d498e864aa3d1ae21fce650452dd13a305769",
      "tree": "7bfd002af9a2901621a1f803d7a834859b3b67fc",
      "parents": [
        "a1bd9e68573239320d18823c73eb06d8e56cc9e2",
        "bfd6057959ecd3ff779a373a4d07cda2c2d0eec1"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Jan 17 19:46:27 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Jan 17 19:46:27 2006 -0500"
      },
      "message": "Merge branch \u0027debug\u0027\n"
    },
    {
      "commit": "8d238e012469a9a332c78d6a69a8a46ac4b1e9c2",
      "tree": "a882e4ec38a87d5ee61653ff9b16ccea57c2bf04",
      "parents": [
        "012b265f76ce5d497b182569dc77f2c68662bead"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Jan 17 20:50:31 2006 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Jan 17 19:37:45 2006 -0500"
      },
      "message": "[PATCH] libata: Fix heuristic typos add LBA48PIO flag and support code, add IRQ flag for next diff\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "bfd6057959ecd3ff779a373a4d07cda2c2d0eec1",
      "tree": "f3d6e2a5f408251b59ea17457bde5cf161164fe0",
      "parents": [
        "2664b25051f7ab96b22b199aa2f5ef6a949a4296"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy_d_dunlap@linux.intel.com",
        "time": "Tue Jan 17 19:34:42 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Jan 17 19:34:42 2006 -0500"
      },
      "message": "From: Borislav Petkov \u003cpetkov@uni-muenster.de\u003e\n\nlibata new debugging macro definitions\n\nSigned-off-by: Borislav Petkov \u003cpetkov@uni-muenster.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy_d_dunlap@linux.intel.com\u003e\n"
    },
    {
      "commit": "1bc4ccfff8675adc3d96f91245eb7e2dc0043ca9",
      "tree": "03bd5a2d64c52dff3c68a66e37f43b4109854170",
      "parents": [
        "ffa29456cd316a5394cdd489de5af3bf87d3c485"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 09 17:18:14 2006 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Jan 17 08:25:39 2006 -0500"
      },
      "message": "[PATCH] libata: add a function to decide if we need iordy\n\nThis ought to be simple but for PIO2 we have to poke around the drive\ndata to get it 100% correct.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "d99cf9d679a520d67f81d805b7cb91c68e1847f0",
      "tree": "415aefe6d168df27c006fcc53b1ea5242eabaaea",
      "parents": [
        "7ed40918a386afc2e14a6d3da563ea6d13686c25",
        "e650c305ec3178818b317dad37a6d9c7fa8ba28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "message": "Merge branch \u0027post-2.6.15\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for merge with Jens\u0027 \"Suspend support for libata\", commit\nID 9b847548663ef1039dd49f0eb4463d001e596bc3.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b847548663ef1039dd49f0eb4463d001e596bc3",
      "tree": "105a0eece522b1347bea57f609f6c04ed673fdb3",
      "parents": [
        "88202a0c84e1951d6630d1d557d4801a8cc5b5ef"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:28:07 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:36:09 2006 -0800"
      },
      "message": "[PATCH] Suspend support for libata\n\nThis patch adds suspend patch to libata, and ata_piix in particular. For\nmost low level drivers, they should just need to add the 4 hooks to\nwork. As I can only test ata_piix, I didn\u0027t enable it for more\nthough.\n\nSuspend support is the single most important feature on a notebook, and\nmost new notebooks have sata drives. It\u0027s quite embarrassing that we\n_still_ do not support this. Right now, it\u0027s perfectly possible to\nsuspend the drive in mid-transfer.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a3dccc42556537a48f39ee9a9e7ab90a933f766",
      "tree": "e67d7b314d4e0732bfa5558bef4f1941ea80cb58",
      "parents": [
        "93c9338713d4e11102cd09b4670ad42a336b06a3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Jan 06 09:56:18 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:56:18 2006 +0100"
      },
      "message": "[BLOCK] add FUA support to libata\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e508a391a0705f770ef1c4f1c304678b0e8e4fe8",
      "tree": "5ba0357fb21e08e52b8e904e88ef692dc78855fb",
      "parents": [
        "d00d598ffbba974d9045ba8b95296655fe2162c5",
        "50630195bbdfe1ca775d94cd68a5f18bc1b717e4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:30:04 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:30:04 2005 -0500"
      },
      "message": "Merge branch \u0027upstream-fixes\u0027\n"
    },
    {
      "commit": "50630195bbdfe1ca775d94cd68a5f18bc1b717e4",
      "tree": "ad1e44e89d714b2785fc33a5800488571db7a7c5",
      "parents": [
        "be0d9b6c7aeaad1683059c00131cabd4c894c17c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:29:45 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 02:29:45 2005 -0500"
      },
      "message": "[libata] mark certain hardware (or drivers) with a no-atapi flag\n\nSome hardware does not support the PACKET command at all.\nOther hardware supports ATAPI, but the driver does something nasty such\nas calling BUG() when an ATAPI command is issued.\n\nFor these such cases, we mark them with a new flag, ATA_FLAG_NO_ATAPI.\n\nInitial version contributed by Ben Collins.\n"
    },
    {
      "commit": "b5632303401c231bf270ef36f1013e52caf4caf9",
      "tree": "671b2a1d0d32d30d935535440ce4e57fdff3a709",
      "parents": [
        "82033adf0a4b26eb0c0c90e224848431e2a59bc6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 13 14:51:25 2005 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 01:34:46 2005 -0500"
      },
      "message": "[PATCH] libata: remove unused qc-\u003ewaiting\n\nThere is no user of qc-\u003ewaiting left after ata_exec_internal()\nchanges.  Kill the field.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a2a7a662f80d8b7f2295a36de1f9b033ed0b910c",
      "tree": "a04872ba93c1eff094d2d37a0435e1d965d43f22",
      "parents": [
        "575ab52a218e4ff0667a6cbd972c3af443ee8713"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 13 14:48:31 2005 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 13 01:34:45 2005 -0500"
      },
      "message": "[PATCH] libata: implement ata_exec_internal()\n\nThis patch implements ata_exec_internal() function which performs\nlibata internal command execution.  Previously, this was done by each\nuser by manually initializing a qc, issueing it, waiting for its\ncompletion and handling errors.  In addition to obvious code\nfactoring, using ata_exec_internal() fixes the following bugs.\n\n* qc not freed on issue failure\n* ap-\u003eqactive clearing could race with the next internal command\n* race between timeout handling and irq\n* ignoring error condition not represented in tf-\u003estatus\n\nAlso, qc \u0026 hardware are not accessed anymore once it\u0027s completed,\nmaking internal commands more conformant with general semantics.\nata_exec_internal() also makes it easy to issue internal commands from\nmultiple threads if that becomes necessary.\n\nThis patch only implements ata_exec_internal().  A following patch\nwill convert all users.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n\n--\n\nJeff, all patches have been regenerated against upstream branch as of\ntoday.  (575ab52a218e4ff0667a6cbd972c3af443ee8713)\n\nAlso, I took out a debug printk from ata_exec_internal (don\u0027t know how\nthat one got left there).  Other than that, all patches are identical\nto the previous posting.\n\nThanks. :-)\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a22e2eb0710798009b8e696ae911aef745089dd6",
      "tree": "93421443499249db0301868e07f24156c456cf7a",
      "parents": [
        "c14b8331ec4843e4f2b67a4d847a0d812a50e43c"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Mon Dec 05 15:38:02 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Dec 06 04:49:22 2005 -0500"
      },
      "message": "[PATCH] libata: move err_mask to ata_queued_cmd\n\n  - remove err_mask from the parameter list of the complete functions\n  - move err_mask to ata_queued_cmd\n  - initialize qc-\u003eerr_mask when needed\n  - for each function call to ata_qc_complete(), replace the err_mask parameter with qc-\u003eerr_mask.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "e74ac79956ecb56e71a398c57eb10fab8c58a562",
      "tree": "546f400f9b011351eb622af3f9e9edea4fab30a8",
      "parents": [
        "c6e6e666cbfe40f0d7fb1a293ff6332973acac37"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 18:16:37 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 18:16:37 2005 -0500"
      },
      "message": "[libata] remove two unused fields from struct ata_port\n"
    },
    {
      "commit": "2c13b7cee045af689b36349c2bc6a9ed6e3d73fa",
      "tree": "594a061fa9b9c1fa03bfe01c9177cc016e1bb1a4",
      "parents": [
        "e1410f2d951d45aee3bdbcc05ecedaaa9db276e5"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 14:14:16 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 14 14:14:16 2005 -0500"
      },
      "message": "[libata] minor fixes, new helpers\n\n- in ata_dev_identify(), don\u0027t assume that all devices are either\n  ATA or ATAPI.  In the future, this code will see port multipliers\n  and other devices.\n- make a debugging printk less verbose\n- add new helper ata_qc_reinit()\n- add new helper BPRINTK() and port flag ATA_FLAG_DEBUGMSG, for\n  fine-grained debugging use.\n"
    },
    {
      "commit": "d72d6f1b5647258e83819b51f72fe37e2b7d7965",
      "tree": "d3a08af50624d9b3e2287367b7e9f5fcc93bdce5",
      "parents": [
        "33ddcbbfb1d9f1bf1259531ae0ba8400ea3c8ba1",
        "8a87a0b6313109d2fea87b1271d497c954ce2ca8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 11 14:04:37 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 11 14:04:37 2005 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6\n"
    },
    {
      "commit": "e99f8b5efe78110e4af10f35ebf11feeef8f43b6",
      "tree": "749f7803380b81eb711acf5818b2c2db2bbc9cd2",
      "parents": [
        "29179539dac74bf46b519b889602f23841be12e8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Nov 08 14:09:44 2005 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 11 08:19:55 2005 -0500"
      },
      "message": "[PATCH] libata: propogate host private data from probe function\n\nThis will let me chop the code size of several drivers right down. In\nmany cases the actual private data is very useful and constant for a\ngiven host controller so being able to just pass it at probe time would\nbe very useful indeed (eg with the via driver would could pass the udma\nclocking and reduce the code size, or with the AMD one the UDMA\nmultiplier and the offset)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "1c72d8d90da3b29540c3c281a3e0b743ee6b6f74",
      "tree": "bc95e6460038369531dac40b2450dbf017f1153a",
      "parents": [
        "3b7d697dfb7d03edb87e50b743a7ecff029618e9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Nov 10 16:21:38 2005 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 11 05:48:46 2005 -0500"
      },
      "message": "[PATCH] libata.h needs dma-mapping.h\n\nOn Alpha:\n\ninclude/linux/libata.h: In function `ata_pad_alloc\u0027:\ninclude/linux/libata.h:785: warning: implicit declaration of function `dma_alloc_coherent\u0027\ninclude/linux/libata.h:786: warning: assignment makes pointer from integer without a cast\ninclude/linux/libata.h: In function `ata_pad_free\u0027:\ninclude/linux/libata.h:792: warning: implicit declaration of function `dma_free_coherent\u0027\n\n(I have a decouple-some-header-files cleanup in -mm, so it\u0027s causing some\nfallout of this nature)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "d0be4a7d29ad0bd3ce2209dd9e46d410b632db59",
      "tree": "a76b11820f03826b1a32b8e9117eb57e19874776",
      "parents": [
        "c0ed79a331caa68ac027dd6afc02bb5b58ef2798"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Oct 31 18:31:40 2005 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Wed Nov 09 15:44:09 2005 -0500"
      },
      "message": "[SCSI] remove Scsi_Host_Template typedef\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "193515d51ccb363165d6b09e9ba5c21089e34bad",
      "tree": "9eec151ee1c2091640862adf79f99eca024a98f1",
      "parents": [
        "0b154bb7d0cce80e9c0bcf11d4f9e71b59409d26"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 07 00:59:37 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Nov 07 00:59:37 2005 -0500"
      },
      "message": "[libata] eliminate use of drivers/scsi/scsi.h compatibility header/defines\n"
    },
    {
      "commit": "6037d6bbdff65eb5a84fe35e140f4da4f7cc103a",
      "tree": "67b86d8559935c04a0918afd3274eef778017d57",
      "parents": [
        "c2cc87ca9561ddfe744d446789cc10f507e87db9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 04 22:08:00 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Nov 04 22:08:00 2005 -0500"
      },
      "message": "[libata] ATAPI pad allocation fixes/cleanup\n\nUse ata_pad_{alloc,free} in two drivers, to factor out common code.\n\nAdd ata_pad_{alloc,free} to two other drivers, which needed the padding\nbut had not been updated.\n"
    },
    {
      "commit": "054ee8fd39f1b5d50e803f126b63f400d631eea4",
      "tree": "2819e388f853de88e09635de8e38017b563069bc",
      "parents": [
        "f0612bbc41f65f5a684f69d714a1a17a6f0f40c5",
        "a7dac447bb9cef27d4d29cdf63e2d7809c50b1f4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:50:22 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:50:22 2005 -0500"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "a7dac447bb9cef27d4d29cdf63e2d7809c50b1f4",
      "tree": "a8935490cdd374aba3a804ba9f79d1aed67db36d",
      "parents": [
        "81cfb8864c73230eb1c37753aba517db15cf4d8f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:44:42 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 04:44:42 2005 -0500"
      },
      "message": "[libata] change ata_qc_complete() to take error mask as second arg\n\nThe second argument to ata_qc_complete() was being used for two\npurposes: communicate the ATA Status register to the completion\nfunction, and indicate an error.  On legacy PCI IDE hardware, the latter\nis often implicit in the former.  On more modern hardware, the driver\noften completely emulated a Status register value, passing ATA_ERR as an\nindication that something went wrong.\n\nNow that previous code changes have eliminated the need to use drv_stat\narg to communicate the ATA Status register value, we can convert it to a\nmask of possible error classes.\n\nThis will lead to more flexible error handling in the future.\n"
    },
    {
      "commit": "f0612bbc41f65f5a684f69d714a1a17a6f0f40c5",
      "tree": "8c070070bb355843cfa4635643e9da7c2c4cd44a",
      "parents": [
        "b0c4e148bd591629749d02a8fbc8d81c26d548cf",
        "81cfb8864c73230eb1c37753aba517db15cf4d8f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 01:58:18 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 30 01:58:18 2005 -0500"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "0169e284f6b6b263cc7c2ed25986b96cd6fda610",
      "tree": "266623b0131e310de6e77a2c87c42b4092902fa4",
      "parents": [
        "be15cd72d256e5eb3261a781b8507fac83ab33f6"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 29 21:25:10 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 29 21:25:10 2005 -0400"
      },
      "message": "[libata] remove ata_chk_err(), -\u003echeck_err() hook.\n\nWe now depend on -\u003etf_read() to provide us with the contents\nof the Error shadow register.\n"
    },
    {
      "commit": "7a9f8f93d2dad38f30fbc79d8a1e6517373aa4b6",
      "tree": "9116e5bde860d00685c5b6eee7be5ba9899aabb9",
      "parents": [
        "972c26bdd6b58e7534473c4f7928584578cf43f4",
        "5fadd053d9bb4345ec6f405d24db4e7eb49cf81e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:29:23 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 28 12:29:23 2005 -0400"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "057ace5e79da9ebf2aa82833cfea825533ac06fb",
      "tree": "f27ed6cbd9a185041862471ef421e6415e099344",
      "parents": [
        "cf482935c6abe5245e481213c6e6df808c976f56"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 14:27:05 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 14:27:05 2005 -0400"
      },
      "message": "libata: const-ification bombing run\n\nEnforce access rules where appropriate.\n\nIf the compiler is smart enough, this may buy us an optimization or two\nas a side effect.\n"
    },
    {
      "commit": "cf482935c6abe5245e481213c6e6df808c976f56",
      "tree": "076ce597d2a7a07039e7834f2d15411fa3e2d0b7",
      "parents": [
        "452503f993feffe96e8cc9fbff4888b96e2c5e40"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 00:19:33 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Oct 22 00:19:33 2005 -0400"
      },
      "message": "libata: turn on block layer clustering\n"
    },
    {
      "commit": "452503f993feffe96e8cc9fbff4888b96e2c5e40",
      "tree": "83163004da490ea8521ec753df71121b62de200a",
      "parents": [
        "11e29e21514517f3022a1f30998ac4c7b1197658"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Oct 21 19:01:32 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Oct 21 19:01:32 2005 -0400"
      },
      "message": "Add ide-timing functionality to libata.\n\nThis is needed for full AMD and VIA drivers and possibly more. Functions\nto turn actual clocking and cycle timings into register values. Also to\nmerge shared timings to compute an optimal timing set.\n\nBuilt from the drivers/ide version by Vojtech Pavlik\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "972c26bdd6b58e7534473c4f7928584578cf43f4",
      "tree": "e32f940cf913ee80ac7ae5e3d92d53f90a6b6552",
      "parents": [
        "b194b4250c2b7e9d762823ac6045316fcd4bf4f9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 22:14:54 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 22:14:54 2005 -0400"
      },
      "message": "libata: add ata_sg_is_last() helper, use it in several drivers\n"
    },
    {
      "commit": "b194b4250c2b7e9d762823ac6045316fcd4bf4f9",
      "tree": "8c54b5004822958ef0a7603e76a4868582e26d7f",
      "parents": [
        "c4052da6f0c01a0b059d125d72bb934d0980b798",
        "59a10b172fccaea793352c00fd9065f0a5b4ef70"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 21:52:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 21:52:42 2005 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "8cbd6df1f0ce977ab7b61feffa59879bb5e0ed8f",
      "tree": "c460778581293ad479ec4983690ccc46bcb4df56",
      "parents": [
        "07506697d1c615924298406f2357810709c09bcd"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Wed Oct 12 15:06:27 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 18 17:16:13 2005 -0400"
      },
      "message": "[PATCH] libata CHS: calculate read/write commands and protocol on the fly (revise #6)\n\n     - merge ata_prot_to_cmd() and ata_dev_set_protocol() as\n       ata_rwcmd_protocol()\n     - pave road for read/write multiple support\n     - remove usage of pre-cached command and protocol values and call\n       ata_rwcmd_protocol() instead\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c4052da6f0c01a0b059d125d72bb934d0980b798",
      "tree": "ad50a17e4d14b8f6f1773158d956d424575d1712",
      "parents": [
        "cedc9a478d8c6265879dc3839ef3d4849a709184",
        "3d3467f0fdf61a421361c00cf84fcf0f1a6dc1e8"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 11:16:14 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Oct 09 11:16:14 2005 -0400"
      },
      "message": "Merge branch \u0027upstream\u0027\n"
    },
    {
      "commit": "cedc9a478d8c6265879dc3839ef3d4849a709184",
      "tree": "0c8e0fbffdb6081381c01b8cfd93c95b168acb44",
      "parents": [
        "ed39f731ab2e77e58122232f6e27333331d7793d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 07:13:30 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 07:13:30 2005 -0400"
      },
      "message": "libata: fix ATAPI DMA alignment issues\n\nATAPI needs to be padded to next 4 byte boundary, if misaligned.\n\nOriginal work by me, many fixes from Tejun Heo.\n"
    },
    {
      "commit": "67846b30171cc4d706125f630193a76a26bb334a",
      "tree": "5ba70c2b68086f471686eb1e56e38436eaf73416",
      "parents": [
        "643736a58d2668af94aee05670c5e9ae76e7b85f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 02:58:32 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Oct 05 02:58:32 2005 -0400"
      },
      "message": "libata: add ata_ratelimit(), use it in AHCI driver irq handler\n"
    },
    {
      "commit": "47a8659380d40d5c0786ddb62a89b3f7f1392430",
      "tree": "696e7f9874e6087e6aaec51fbe1d4a91cd3dfc64",
      "parents": [
        "fe998aa7e27f125f6768ec6b137b0ce2c9790509"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 04 08:09:19 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Oct 04 08:09:19 2005 -0400"
      },
      "message": "libata: bitmask based pci init functions for one or two ports\n\nThis redoes the n_ports logic I proposed before as a bitmask.\nata_pci_init_native_mode is now used with a mask allowing for mixed mode\nstuff later on. ata_pci_init_legacy_port is called with port number and\ndoes one port now not two. Instead it is called twice by the ata init\nlogic which cleans both of them up.\n\nThere are stil limits in the original code left over\n\n- IRQ/port mapping for legacy mode should be arch specific values\n- You can have one legacy mode IDE adapter per PCI root bridge on some systems\n- Doesn\u0027t handle mixed mode devices yet (but is now a lot closer to it)\n"
    },
    {
      "commit": "64f09c98d7fce21dcb8da9f248e4159eb1ec245e",
      "tree": "e03ed75665d536438fcb79b468a439caacd3d7dc",
      "parents": [
        "14be71f4c5c5ad1e222c5202ee6d234e9c8828b7",
        "98ed72deebfd2b55b7e1bb94c8175b1169999212"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 28 12:11:15 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 28 12:11:15 2005 -0400"
      },
      "message": "/spare/repo/libata-dev branch \u0027chs-support\u0027\n"
    },
    {
      "commit": "14be71f4c5c5ad1e222c5202ee6d234e9c8828b7",
      "tree": "715ac051b4fd2e3d62219110be4fc71d2f1a06f8",
      "parents": [
        "ee500aabf10323a7e313731b8c0be7c2c6dd27c7"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Tue Sep 27 17:36:35 2005 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Sep 28 11:58:39 2005 -0400"
      },
      "message": "[PATCH] libata: rename host states\n\nChanges:\ns/PIO_ST_/HSM_ST_/ and s/pio_task_state/hsm_task_state/.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "98ed72deebfd2b55b7e1bb94c8175b1169999212",
      "tree": "f1682a68f65e0a38159f55a58c054779d749f8df",
      "parents": [
        "dbaa9a9d2b37d838125fb7f2b9fdc5dc5fa4eaa9",
        "87e807b6c461bbd449496a4c3ab78ab164a4ba97"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Sep 24 00:26:49 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Sep 24 00:26:49 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "17b14451fd2b187ddd6303726755a3af0a926b6c",
      "tree": "b0f3572bcb47eef8a4988b44795ddcab95da3118",
      "parents": [
        "7a83e90b32a2b2500e0be6a5317ab411b39222c9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Sep 15 15:44:00 2005 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Sep 16 02:39:01 2005 -0400"
      },
      "message": "[PATCH] PATCH: remove function for non-PCI as requested\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "142e27fc8a3619471669d6241784eec9167c47d1",
      "tree": "e88850b63ec910ee28874f93c43fb66421bb8119",
      "parents": [
        "a9053d0494d3c92807701c0f47df61d50c971581",
        "caf39e87cc1182f7dae84eefc43ca14d54c78ef9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:41:28 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Sep 08 05:41:28 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/ \n"
    },
    {
      "commit": "d0bd99299bf933ae006d2dc6a31ffcba482ae3f2",
      "tree": "62615ed8bc6ab68f42b59d412a7fd7ac77c79803",
      "parents": [
        "6f1062330499cee10396bf3fc66a03eb228c5fad",
        "586a4ac509b041df55f26c2b26cd7cbdaf9b045d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Sep 05 05:20:33 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Sep 05 05:20:33 2005 -0400"
      },
      "message": "/spare/repo/libata-dev branch \u0027iomap-try3\u0027\n"
    },
    {
      "commit": "374b1873571bf80dc0c1fcceaaad067980f3b9de",
      "tree": "d53352d9fed18984e48cf734a1036ff8fbef856f",
      "parents": [
        "ea6ba10bbb88e106f9e2db7dc253993bb3bbbe3b"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 05:42:52 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 05:42:52 2005 -0400"
      },
      "message": "[libata] update several drivers to use pci_iomap()/pci_iounmap()\n"
    },
    {
      "commit": "1623c81eece58740279b8de802fa5895221f2044",
      "tree": "486aa6a40ea419c14d02bc8561cdb8485f6a5189",
      "parents": [
        "1fdab81e675c6ef76a49b8aabb7eaf4be51d1b80"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 03:37:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 30 03:37:42 2005 -0400"
      },
      "message": "[libata] allow ATAPI to be enabled with new atapi_enabled module option\n\nATAPI is getting close to being ready.  To increase exposure, we enable\nthe code in the upstream kernel, but default it to off (present\nbehavior).  Users must pass atapi_enabled\u003d1 as a module option (if\nmodule) or on the kernel command line (if built in) to turn on\ndiscovery of their ATAPI devices.\n"
    },
    {
      "commit": "76b2bf9b4dee2fb32ef17f5c84a99ce481a14be2",
      "tree": "49cd36d6e980044c2a88f2c14cdc9259e0f0f1b4",
      "parents": [
        "2fca877b68b2b4fc5b94277858a1bedd46017cde",
        "8f3d17fb7bcb7c255197d11469fb5e9695c9d2f4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:24:43 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 19:24:43 2005 -0400"
      },
      "message": "Merge libata branch \u0027chs-support\u0027 to latest upstream kernel.\n"
    },
    {
      "commit": "70d374ea9907036e15574a5ce89219edd5baee10",
      "tree": "b858bb4a841eb91b1d91b41c33698d05fa7bfb37",
      "parents": [
        "aa7e16d6b88b3b38db0d2ee49ed5e44e7b2045ec",
        "bf4e70e54cf31dcca48d279c7f7e71328eebe749"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 15:59:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Aug 29 15:59:42 2005 -0400"
      },
      "message": "Merge /spare/repo/linux-2.6/\n"
    },
    {
      "commit": "af36d7f0df56de3e3e4bbfb15d0915097ecb8cab",
      "tree": "cbeb3d387b99fe8b83e0ff8631c422e7a0489645",
      "parents": [
        "0572e3da3ff5c3744b2f606ecf296d5f89a4bbdf"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Aug 28 20:18:39 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Aug 28 20:18:39 2005 -0400"
      },
      "message": "[libata] license change, other bits\n\n- changes license of all code from OSL+GPL to plain ole GPL\n  - except for NVIDIA, who hasn\u0027t yet responded about sata_nv\n  - copyright holders were already contacted privately\n\n- adds info in each driver about where hardware/protocol docs may be\n  obtained\n\n- where I have made major contributions, updated copyright dates\n"
    },
    {
      "commit": "d18d36b4edbb980c9de7fe00724c3ded5de1b7a7",
      "tree": "387952fb886e995b90fbe91ae4097201c991d938",
      "parents": [
        "953d1137fc4aba16deace262e93974913596dcfe"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Aug 27 04:13:52 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Aug 27 04:13:52 2005 -0400"
      },
      "message": "libata: fix a few alan-isms\n"
    },
    {
      "commit": "b73fc89f6d1f84326e5e897ad249d00a9f218fd7",
      "tree": "557d5ba51a4f6c58be0717c0da13c2e409fd6008",
      "parents": [
        "31433ea369d250ad011577eee6110d3efcb9d861"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Aug 26 16:03:19 2005 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Aug 26 17:36:26 2005 -0400"
      },
      "message": "[PATCH] libata: regularize dma_start/stop arguments\n\nNeeded for a few PATA drivers.\n\nAlso fix up a wrong comment.\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c1389503710ef4b4e5d21bea284afde19e9619cf",
      "tree": "270bf8ea0c2ac354273766d8a1ddfb12cd58b608",
      "parents": [
        "c0b34ad2956036cdba87792d6c46d8f491539df1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 22 14:59:24 2005 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Aug 23 01:05:55 2005 -0400"
      },
      "message": "[PATCH] fix atapi_packet_task vs. intr race (take 2)\n\nInterrupts from devices sharing the same IRQ could cause\nata_host_intr to finish commands being processed by atapi_packet_task\nif the commands are using ATA_PROT_ATAPI_NODATA or ATA_PROT_ATAPI_DMA\nprotocol.  This is because libata interrupt handler is unaware that\ninterrupts are not expected during that period.  This patch adds\nATA_FLAG_NOINTR flag to tell the interrupt handler that we\u0027re not\nexpecting interrupts.\n\n Note that once proper HSM is implemented for interrupt-driven PIO,\nthis should be merged into it and this flag will be removed.\n\n ahci.c is a different kind of beast, so it\u0027s left alone.\n\n* The following drivers use ata_qc_issue_prot and ata_interrupt, so\n  changes in libata core will do.\n\n  ata_piix sata_sil sata_svw sata_via sata_sis sata_uli\n\n* The following drivers use ata_qc_issue_prot and custom intr handler.\n  They need this change to work correctly.\n\n  sata_nv sata_vsc\n\n* The following drivers use custom issue function and intr handler.\n  Currently all custom issue functions don\u0027t support ATAPI, so this\n  change is irrelevant, updated for consistency and to avoid later\n  mistakes.\n\n  sata_promise sata_qstor sata_sx4\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "8a60a07129fad60bba779a2a4038c7518b167fc7",
      "tree": "3bec0fea8b4c98c51d8865d5144068420f0fd09f",
      "parents": [
        "541134cfe7af179f45458b68421ee1da7bab9cba"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 13:13:24 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Jul 31 13:13:24 2005 -0400"
      },
      "message": "libata: trim trailing whitespace.\n\nAlso, fixup a tabs-to-spaces block of code in ata_piix.\n"
    },
    {
      "commit": "ff40c6d3d1437ecdf295b8e39adcb06c3d6021ef",
      "tree": "3666d029b4bd4df2909dbefd9c7a09e6042b7d32",
      "parents": [
        "8bf62ecee58360749c5f0e68bc97d5e02a6816b1",
        "2a5a68b840cbab31baab2d9b2e1e6de3b289ae1e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Wed Jun 22 13:07:28 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Wed Jun 22 13:07:28 2005 -0400"
      },
      "message": "Merge upstream kernel changes into \u0027C/H/S support\u0027 branch of libata.\n"
    },
    {
      "commit": "73561695b2e77473e353a5ae63bab81ed5098d8e",
      "tree": "d039affaa54d38985e41566e4d62e0aa6a170287",
      "parents": [
        "6f2f38128170814e151cfedf79532e19cd179567",
        "8be3de3fd8469154a2b3e18a4712032dac5b4a53"
      ],
      "author": {
        "name": "",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Fri Jun 03 23:54:56 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Fri Jun 03 23:54:56 2005 -0400"
      },
      "message": "Automatic merge of /spare/repo/linux-2.6/.git branch HEAD\n"
    },
    {
      "commit": "d7aaf48128ec7fcefcee92ea22833afc1a80e268",
      "tree": "16ff78f6be6a5519944bb7bfc6034dfbd71ae97f",
      "parents": [
        "decc6d0b68f27bbb8a0357fccf41936a3c196b03",
        "1e86d1c648508fd50e6c9960576b87906a7906ad"
      ],
      "author": {
        "name": "",
        "email": "jgarzik@pretzel.yyz.us",
        "time": "Thu Jun 02 18:43:09 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jun 02 18:43:09 2005 -0400"
      },
      "message": "Automatic merge of /spare/repo/linux-2.6/.git branch HEAD\n"
    },
    {
      "commit": "0baab86b00cdf9785ac2bb2ce1ab63995b3866ca",
      "tree": "9a92597d6e1653a9a9b3ed7f371d62237e68a6e9",
      "parents": [
        "92bab26be5544d8b495389646490fcfdca6dbcf2"
      ],
      "author": {
        "name": "Edward Falk",
        "email": "efalk@google.com",
        "time": "Thu Jun 02 18:17:13 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jun 02 18:17:13 2005 -0400"
      },
      "message": "libata: update inline source docs\n"
    },
    {
      "commit": "aa8f0dc6c3dbf1cf3ff58f3e945c981be134814d",
      "tree": "3e343cd5493d442d1a26dc7a421422d84698831e",
      "parents": [
        "bef9c558841604116704e10b3d9ff3dbf4939423"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 26 21:54:27 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 26 21:54:27 2005 -0400"
      },
      "message": "libata: Fix use-after-iounmap\n\nJens Axboe pointed out that the iounmap() call in libata was occurring\ntoo early, and some drivers (ahci, probably others) were using ioremap\u0027d\nmemory after it had been unmapped.\n\nThe patch should address that problem by way of improving the libata\ndriver API:\n\n* move -\u003ehost_stop() call after all -\u003eport_stop() calls have occurred.\n\n* create default helper function ata_host_stop(), and move iounmap()\ncall there.\n\n* add -\u003ehost_stop_prewalk() hook, use it in sata_qstor.c (hi Mark).\nsata_qstor appears to require the host-stop-before-port-stop ordering\nthat existed prior to applying the attached patch.\n"
    },
    {
      "commit": "cdcca89e1a90fa9112260bd6384f20fcc4280e21",
      "tree": "303ddceb3a324067c6a18ec00b8643d313eb71e4",
      "parents": [
        "21b1ed74ee3667dcabcba92e486988ea9119a085"
      ],
      "author": {
        "name": "Brett Russ",
        "email": "russb@emc.com",
        "time": "Mon Mar 28 15:10:27 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun May 15 19:00:51 2005 -0400"
      },
      "message": "[PATCH] libata: flush COMRESET set and clear\n\nUpdated patch to fix erroneous flush of COMRESET set and missing flush\nof COMRESET clear.  Created a new routine scr_write_flush() to try to\nprevent this in the future.  Also, this patch is based on libata-2.6\ninstead of the previous libata-dev-2.6 based patch.\n\nSigned-off-by: Brett Russ \u003crussb@emc.com\u003e\n\nIndex: libata-2.6/drivers/scsi/libata-core.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "8bf62ecee58360749c5f0e68bc97d5e02a6816b1",
      "tree": "a3da6e695fc5a71ac7f3246707380a9ac22f6402",
      "parents": [
        "88d7bd8cb9eb8d64bf7997600b0d64f7834047c5"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Thu May 12 15:29:42 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:29:42 2005 -0400"
      },
      "message": "[libata] C/H/S support, for older devices\n"
    },
    {
      "commit": "6f2f38128170814e151cfedf79532e19cd179567",
      "tree": "6728b987c6d4199c4d03335407f5b55859b34a86",
      "parents": [
        "88d7bd8cb9eb8d64bf7997600b0d64f7834047c5"
      ],
      "author": {
        "name": "Brad Campbell",
        "email": "brad@wasp.net.au",
        "time": "Thu May 12 15:07:47 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu May 12 15:07:47 2005 -0400"
      },
      "message": "[PATCH] libata basic detection and errata for PATA-\u003eSATA bridges\n\nThis patch works around an issue with WD drives (and possibly others)\nover SiL PATA-\u003eSATA Bridges on SATA controllers locking up with\ntransfers \u003e 200 sectors.\n\nSigned-off-by: Brad Campbell \u003cbrad@wasp.net.au\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"
    }
  ]
}
