)]}'
{
  "log": [
    {
      "commit": "fe635c7e91036282e4fd0cc5b4eebc712e43270d",
      "tree": "22054d039df52c19e729f30ceee836936a730ce6",
      "parents": [
        "158693031d7c58a355ec1852052a4fca75fd3bda"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:35 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:35 2006 +0900"
      },
      "message": "[PATCH] libata: use preallocated buffers\n\nIt\u0027s not a very good idea to allocate memory during EH.  Use\nstatically allocated buffer for dev-\u003eid[] and add 512byte buffer\nap-\u003esector_buf.  This buffer is owned by EH (or probing) and to be\nused as temporary buffer for various purposes (IDENTIFY, NCQ log page\n10h, PM GSCR block).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "6cd727b14f1a6cdcb088d1067c1ba0ba124806a7",
      "tree": "21ad0764c0f511b029e2f4548a5035a983d978e2",
      "parents": [
        "e23befe9018319dc218e2e51c20ce480e6b45eeb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:28 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:28 2006 +0900"
      },
      "message": "[PATCH] libata: kill duplicate prototypes\n\nKill duplicate prototypes for ata_eh_qc_complete/retry() in libata.h.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "3c567b7d1137633f3ff67cd1df94abc5fd497a85",
      "tree": "085d98f696a0b8a2440bac4686929731769a6760",
      "parents": [
        "c44078c03f018c8cc9d7463b0db4c6c7fb316792"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:23 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 15 20:57:23 2006 +0900"
      },
      "message": "[PATCH] libata: rename ata_down_sata_spd_limit() and friends\n\nRename ata_down_sata_spd_limit() and friends to sata_down_spd_limit()\nand likewise for simplicity \u0026 consistency.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "499a86af41cf5a4bf811726841bbc49c0e96fd35",
      "tree": "4fc1f8ff32782f069e488eaea200be055046704a",
      "parents": [
        "51713d359ae274fa4dd4b199ba3a6b0c21ef99e0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 11 22:32:18 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:31:35 2006 -0400"
      },
      "message": "[PATCH] libata: export ata_set_sata_spd()\n\nThis will be used by LLDD hardreset implementation.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c22daff41001e9ccead87179ac0547f85447139e",
      "tree": "b8faa6e19419704c19f07a9f7043ab2435f719df",
      "parents": [
        "643be977f9feba8c3c1e768fc06cac84596ec6f8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 11 22:22:29 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:19:11 2006 -0400"
      },
      "message": "[PATCH] libata: implement ata_wait_register()\n\nAs waiting for some register bits to change seems to be a common\noperation shared by some controllers, implement helper function\nata_wait_register().  This function also takes care of register write\nflushing.\n\nNote that the condition is inverted, the wait is over when the masked\nvalue does NOT match @val.  As we\u0027re waiting for bits to change, this\ntest is more powerful and allows the function to be used in more\nplaces.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2bf2cb26b2512c6a609bb152982c388329bedff6",
      "tree": "9f1f3ea5000304fd946f34b24d9904c2a1027480",
      "parents": [
        "db70fef0750e5f8dbb64f9fadb333d2c7caf26a1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 11 22:16:45 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:12:46 2006 -0400"
      },
      "message": "[PATCH] libata: kill @verbose from ata_reset_fn_t\n\n@verbose was added to ata_reset_fn_t because AHCI complained during\nprobing if no device was attached to the port.  However, muting\nfailure message isn\u0027t the correct approach.  Reset methods are\nresponsible for detecting no device condition and finishing\nsuccessfully.  Now that AHCI softreset is fixed, kill @verbose.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "35bb94b116e1fd4959ef0d3187458b5820eac8c4",
      "tree": "48a05166c489838d04429279a2886ac6a32b20c9",
      "parents": [
        "381544bba3ae6f2f1004b267da34f840b469033c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:12:34 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:12:34 2006 -0400"
      },
      "message": "libata: Add helper ata_shost_to_port()\n"
    },
    {
      "commit": "381544bba3ae6f2f1004b267da34f840b469033c",
      "tree": "e748d5da19d3fa79bee2ad5b40b44722cdf64184",
      "parents": [
        "10a5fd5e6b7e2d464c9f95f67cade4ddbd63f4e1"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:04:39 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 13:04:39 2006 -0400"
      },
      "message": "libata: Fix EH merge difference between this branch and upstream.\n"
    },
    {
      "commit": "10a5fd5e6b7e2d464c9f95f67cade4ddbd63f4e1",
      "tree": "eddf856286234f28cac747d20eb59d918e1bc8b5",
      "parents": [
        "c2a6585296009379e0f4eff39cdcb108b457ebf2",
        "a145410dccdb44f81d3b56763ef9b6f721f4e47c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 12:51:40 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 11 12:51:40 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027\n\nConflicts:\n\n\tdrivers/scsi/libata-scsi.c\n\tinclude/linux/libata.h\n"
    },
    {
      "commit": "9227c33de80ac01f269ed33624990ce84358e419",
      "tree": "7678d342949db011d37e15516c3eaa22ec32ff2a",
      "parents": [
        "676165a8af7167f488abdcce6851a9bc36e83254"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Apr 01 19:21:04 2006 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Apr 10 14:15:47 2006 -0400"
      },
      "message": "[PATCH] move -\u003eeh_strategy_handler to the transport class\n\nOverriding the whole EH code is a per-transport, not per-host thing.\nMove -\u003eeh_strategy_handler to the transport class, same as\n-\u003eeh_timed_out.\n\nDownside is that scsi_host_alloc can\u0027t check for the total lack of EH\nanymore, but the transition period from old EH where we needed it is\nlong gone already.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "95de719adc94392a95c3c4d0a2d6b8b1ea39d236",
      "tree": "d8196f39ca64a2c727ff6eff94b28d10013c6564",
      "parents": [
        "c16226a1c75042bfdc50bd2921d5919f6267ba51"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Tue Apr 04 10:57:18 2006 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Apr 04 08:44:24 2006 -0400"
      },
      "message": "[PATCH] libata: convert ATAPI_ENABLE_DMADIR to module parameter\n\nConvert the ATAPI_ENABLE_DMADIR compile time option needed\nby some SATA-PATA bridge to runtime module parameter.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ece1d63619df010b8c4f08e43755e2a03f3b6eed",
      "tree": "c6474fe7541d479bf19c36c79700dfa9f6093a8d",
      "parents": [
        "35e86b53b1a38e78ff0d70dae4aeb25f4572e433"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:53 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:21 2006 -0400"
      },
      "message": "[PATCH] libata: separate out libata-eh.c\n\nA lot of EH codes are about to be added to libata.  Separate out\nlibata-eh.c.  ata_scsi_timed_out(), ata_scsi_error(),\nata_qc_timeout(), ata_eng_timeout(), ata_eh_qc_complete() and\nata_eh_qc_retry() are moved.  No code is changed by this patch.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2719736779da2c7fbb17d3de16c817b429bfeb9c",
      "tree": "f65b910e990cc59805faefc33fbb84cd419572c4",
      "parents": [
        "e8384607d4f395985e3cc5f82d75fc73efc2ecf0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:53 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:20 2006 -0400"
      },
      "message": "[PATCH] libata: add ATA_QCFLAG_IO\n\nAdd a new qc flag ATA_QCFLAG_IO.  This flag gets set for normal IO\ncommands originating from SCSI midlayer.  This information will be\nused by EH to determine transfer speed reconfiguration.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ea1dd4e13010eb9dd5ffb4bfabbb472bc238bebb",
      "tree": "2c55fb5671c1dab0c99d84d46c09fd03ebdc5f53",
      "parents": [
        "198e0fed9e59461fc1890dd8b75ec72d14638873"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:53 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: clear only affected flags during ata_dev_configure()\n\nata_dev_configure() should not clear dynamic device flags determined\nelsewhere.  Lower eight bits are reserved for feature flags, define\nATA_DFLAG_CFG_MASK and clear only those bits before configuring\ndevice.  Without this patch, ATA_DFLAG_PIO gets turned off during\nrevalidation making PIO mode unuseable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "198e0fed9e59461fc1890dd8b75ec72d14638873",
      "tree": "c5c1d727117df989d6e6e8e2b79d065a669a7a27",
      "parents": [
        "949b38af40a0b88b7267908b1554a45b97b5b737"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:52 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: rename ATA_FLAG_PORT_DISABLED to ATA_FLAG_DISABLED\n\nRename ATA_FLAG_PORT_DISABLED to ATA_FLAG_DISABLED for consistency.\n(ATA_FLAG_* are always about ports).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "949b38af40a0b88b7267908b1554a45b97b5b737",
      "tree": "cff0a143d71c8e03bf8aceefdfec8f735bc33416",
      "parents": [
        "c43c555c3a6db7f0b55fd9b66d7ecff16e827d4e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:52 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: clean up constants\n\n* Reorder ATA_DFLAG_* such that feature flags determined by\n  ata_dev_configure() are on lower bits.  Reserve lower eight bits\n  for this purpose and allocate dynamic flags from bit 8.\n\n* Reorder ATA_FLAG_* such that feature flags determined during driver\n  initiailization are on bits 0:15, dynamic flags on 16:23 and LLDD\n  specific flags on 24:31.\n\n* Kill trailing white space and lower-case an one line comment for\n  consistency.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c43c555c3a6db7f0b55fd9b66d7ecff16e827d4e",
      "tree": "3036762ea56f742414eaaf098f9f5f34dedb03e4",
      "parents": [
        "5eb45c02a9944e813a0b82457607557a1f2c64b5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:52 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: ATA_FLAG_IN_EH is not used, kill it\n\nKill unused flag ATA_FLAG_IN_EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "14d2bac1877ed4e2cc940d1680db1a4f29225811",
      "tree": "60b478485e7453dd5a41aea34699a305dd3c8d2c",
      "parents": [
        "cf176e1aa92eb2a3faea8409e841396a66413937"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 17:54:46 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:02:57 2006 -0400"
      },
      "message": "[PATCH] libata: improve ata_bus_probe()\n\nImprove ata_bus_probe() such that configuration failures are handled\nbetter.  Each device is given ATA_PROBE_MAX_TRIES chances, but any\nnon-transient error (revalidation failure with -ENODEV, configuration\nfailure with -EINVAL...) disables the device directly.  Any IO error\nresults in SATA PHY speed down and ata_set_mode() failure lowers\ntransfer mode.  The last try always puts a device into PIO-0.\n\nAfter each failure, the whole port is reset to make sure that the\ncontroller and all the devices are in a known and stable state.  The\nreset also applies SATA SPD configuration if necessary.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1c3fae4d7eb121933341443c37d3bbee43c0fb68",
      "tree": "e7f0c4145b3a108817c2a7e6bea58a72eb3692e1",
      "parents": [
        "002c8054fa8d0f1afce2b0c728be32d338b9293a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 20:53:28 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:02:57 2006 -0400"
      },
      "message": "[PATCH] libata: implement ap-\u003esata_spd_limit and helpers\n\nap-\u003esata_spd_limit contrains SATA PHY speed of the port.  It is\ninitialized to the configured value prior to probing thus preserving\nBIOS configured value.  hardreset is responsible for applying SPD\nlimit and sata_std_hardreset() is updated to do that.  SATA SPD limit\nwill be used to enhance failure handling during probing and later by\nEH.\n\nThis patch also normalizes some comments around affected code.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "002c8054fa8d0f1afce2b0c728be32d338b9293a",
      "tree": "3ca1bddacad6bb08b8f9b27ef6ebfbdb4cee4d46",
      "parents": [
        "852ee16a914fb3ada2f81e222677c04defc2f15f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 17:54:46 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:02:57 2006 -0400"
      },
      "message": "[PATCH] libata: implement ata_dev_absent()\n\nFor the time being we cannot use ata_dev_present() as it was renamed\nto ata_dev_enabled() but we still need presence test.  Implement\nnegation of the test.  Conveniently, the negated result is needed in\nmore places.  This is suggested by Jeff Garzik.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e1211e3fa7fd05ff0d4f597fd37e40de8acc6784",
      "tree": "672018d7facf99ad4d45b09e2e2980accebdfe38",
      "parents": [
        "9974e7cc6c8b8ea796c92cdf28db93e4579a4000"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Apr 01 01:38:18 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 01 12:33:45 2006 -0500"
      },
      "message": "[PATCH] libata: implement ata_dev_enabled and disabled()\n\nThis patch renames ata_dev_present() to ata_dev_enabled() and adds\nata_dev_disabled().  This is to discern the state where a device is\npresent but disabled from not-present state.  This disctinction is\nnecessary when configuring transfer mode because device selection\ntiming must not be violated even if a device fails to configure.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5444a6f405618706eddbe1605ef8533b1b655764",
      "tree": "9265a1e65563add47a9fe5f1ddae44d6dd0742e3",
      "parents": [
        "692785e798f341c057ff976c35a3d86ad5af8ac6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:58:20 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:28 2006 -0500"
      },
      "message": "[PATCH] libata: Simplex and other mode filtering logic\n\nAdd a field to the host_set called \u0027flags\u0027 (was host_set_flags changed\nto suit Jeff)\nAdd a simplex_claimed field so we can remember who owns the DMA channel\nAdd a -\u003emode_filter() hook to allow drivers to filter modes\nAdd docs for mode_filter and set_mode\nFilter according to simplex state\nFilter cable in core\n\nThis provides the needed framework to support all the mode rules found\nin the PATA world. The simplex filter deals with \u0027to spec\u0027 simplex DMA\nsystems found in older chips. The cable filter avoids duplicating the\nsame rules in each chip driver with PATA. Finally the mode filter is\nneccessary because drive/chip combinations have errata that forbid\ncertain modes with some drives or types of ATA object.\n\nDrive speed setup remains per channel for now and the filters now use\nthe framework Tejun put into place which cleans them up a lot from the\nolder libata-pata patches.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e35a9e01f2a504871e70576a9e11dbe4d8dee456",
      "tree": "4761c2d8b9d827d95cc531376e5c02666734ecf6",
      "parents": [
        "4e5ec5dba22ea509b1a004f9815751f0ffc815e5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:46:37 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: Add -\u003eset_mode hook for odd drivers\n\nSome hardware doesn\u0027t want the usual mode setup logic running. This\nallows the hardware driver to replace it for special cases in the least\ninvasive way possible.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4e5ec5dba22ea509b1a004f9815751f0ffc815e5",
      "tree": "d7387c3051e51a8bca060918f4a3a8a1a7962715",
      "parents": [
        "05c8e0ac5c37e9739a852b526afeecae97607cbb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:42:40 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: BMDMA handling updates\n\nThis is the minimal patch set to enable the current code to be used with\na controller following SFF (ie any PATA and early SATA controllers)\nsafely without crashes if there is no BMDMA area or if BMDMA is not\nassigned by the BIOS for some reason.\n\nSimplex status is recorded but not acted upon in this change, this isn\u0027t\na problem with the current drivers as none of them are for simplex\nhardware. A following diff will deal with that.\n\nThe flags in the probe structure remain -\u003ehost_set_flags although Jeff\nasked me to rename them, simply because the rename would break the usual\nLinux rules that old code should break when there are changes. not\ncompile and run and then blow up/eat your computer/etc. Renaming this\nlater is a trivial exercise once a better name is chosen.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "aec5c3c1a929d7d79a420e943285cf3ba26a7c0d",
      "tree": "980faf6aafcc7ab5c85b680ee9345c6c2cb56f64",
      "parents": [
        "e93252faca2eb1a14b44369705be7c79eba2f037"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Mar 25 01:33:34 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 24 12:24:33 2006 -0500"
      },
      "message": "[PATCH] libata: kill E.D.D.\n\nE.D.D. has no user in-tree and mostly useless.  Kill it.  For possible\nout-of-tree users, add a nice warning message and error handling if\nLLDD doesn\u0027t report any useable reset mechanism (and thus tries to use\nE.D.D.).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2f1f610b62bce36d6d50857859091b8989c70267",
      "tree": "cc79a77d3bee9aa00976d25ae69fb1c5e80ba452",
      "parents": [
        "2af10a818de1658f818601c7098056d65a772bc5"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@us.ibm.com",
        "time": "Thu Mar 23 17:30:15 2006 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 24 10:18:43 2006 -0500"
      },
      "message": "[PATCH] libata: Remove dependence on host_set-\u003edev for SAS\n\nRemove some of the dependence on the host_set struct\nin preparation for supporting SAS HBAs. Adds a struct device\npointer to the ata_port struct.\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ebdfca6eb1b755d3bfe9a81339ecdafd92038c1a",
      "tree": "1780c1d10756c1f6c3cd34ac2f23faa729d9877d",
      "parents": [
        "082776e4be791736c32baf818e50f501a7f83819"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Mar 23 15:38:34 2006 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 24 09:52:32 2006 -0500"
      },
      "message": "[PATCH] libata: add ata_dev_pair helper\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "082776e4be791736c32baf818e50f501a7f83819",
      "tree": "508fe750353ccd8f6a77cf2c882c15ab20a1e63e",
      "parents": [
        "83206a2903fd2ddb1761d906b2b3b3de17ef87f1"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "ncunningham@cyclades.com",
        "time": "Thu Mar 23 23:22:16 2006 +1000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 24 09:51:36 2006 -0500"
      },
      "message": "[PATCH] Make libata not powerdown drivers on PM_EVENT_FREEZE.\n\nAt the moment libata doesn\u0027t pass pm_message_t down ata_device_suspend.\nThis causes drives to be powered down when we just want a freeze,\ncausing unnecessary wear and tear. This patch gets pm_message_t passed\ndown so that it can be used to determine whether to power down the\ndrive.\n\nSigned-off-by: Nigel Cunningham \u003cnigel@suspend2.net\u003e\n\n drivers/scsi/libata-core.c |    5 +++--\n drivers/scsi/libata-scsi.c |    4 ++--\n drivers/scsi/scsi_sysfs.c  |    2 +-\n include/linux/libata.h     |    4 ++--\n include/scsi/scsi_host.h   |    2 +-\n 5 files changed, 9 insertions(+), 8 deletions(-)\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "acf356b12d13c8b43c486e53e8ee12f1f435ecc8",
      "tree": "355f7327b0ed34d02e6ec8c1eb91a8a8f758975b",
      "parents": [
        "c0489e4efcad44aeb16c55760daf3b487183e9f0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Mar 24 14:07:50 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 24 09:28:33 2006 -0500"
      },
      "message": "[PATCH] libata: add per-dev pio/mwdma/udma_mask\n\nAdd per-dev pio/mwdma/udma_mask.  All transfer mode limits used to be\napplied to ap-\u003e*_mask which unnecessarily restricted other devices\nsharing the port.  This change will also benefit later EH speed down\nand hotplug.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f01c18456993bab43067b678f56c87ca954aa43b",
      "tree": "3e0cd0cdf1a57618202b46a7126125902e3ab832",
      "parents": [
        "949ec2c8e6b7b89179b85baf6309c009e1a1b951",
        "1c2e02750b992703a8a18634e08b04353face243"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 22 19:13:54 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 22 19:13:54 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "17bb34a3c548c4fd2a7c859123a631f97c2af09f",
      "tree": "566cd167531082ebaa16a6127dce30a60b4b865a",
      "parents": [
        "23cfce8924f1e7ff1d14b8f1afd7550182026d16"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 21 21:29:21 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 21 21:29:21 2006 -0500"
      },
      "message": "[libata] add prototypes for helpers\n\nAdd prototypes for stuff recently added by Alan.\n"
    },
    {
      "commit": "e46834cd2ddb1e2941806cb8fec60fb6bdd2ec29",
      "tree": "770dfbbb56f8c9b7e748e9982875cc4522454ffb",
      "parents": [
        "f59b0cf8a3a39b75e580066c6a9aeabd97ec2743"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@us.ibm.com",
        "time": "Fri Mar 17 17:04:03 2006 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 21 21:03:43 2006 -0500"
      },
      "message": "[PATCH] libata: Add some dummy noop functions\n\nAdd some dummy noop functions for use by libata clients\nthat do not need to do anything. Future SAS patches will\nutilize these functions.\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "98ed72deebfd2b55b7e1bb94c8175b1169999212"
}
