)]}'
{
  "log": [
    {
      "commit": "92d15c2ccbb3e31a3fc71ad28fdb55e1319383c0",
      "tree": "8d83c0dc3c6b935d8367e331872f242b742f0a8a",
      "parents": [
        "f20bf6125605acbbc7eb8c9420d7221c91aa83eb",
        "644bd2f048972d75eb1979b1fdca257d528ce687"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)\n  Fix memory leak in dm-crypt\n  SPARC64: sg chaining support\n  SPARC: sg chaining support\n  PPC: sg chaining support\n  PS3: sg chaining support\n  IA64: sg chaining support\n  x86-64: enable sg chaining\n  x86-64: update pci-gart iommu to sg helpers\n  x86-64: update nommu to sg helpers\n  x86-64: update calgary iommu to sg helpers\n  swiotlb: sg chaining support\n  i386: enable sg chaining\n  i386 dma_map_sg: convert to using sg helpers\n  mmc: need to zero sglist on init\n  Panic in blk_rq_map_sg() from CCISS driver\n  remove sglist_len\n  remove blk_queue_max_phys_segments in libata\n  revert sg segment size ifdefs\n  Fixup u14-34f ENABLE_SG_CHAINING\n  qla1280: enable use_sg_chaining option\n  ...\n"
    },
    {
      "commit": "8889e3c129780cdbe15fed3c366ba3aa3026684d",
      "tree": "6dd87deff0a8b2423b79a4f0234f7b234a259e37",
      "parents": [
        "fd820f405574a30aacf9a859886e173d641f080b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 18 12:16:45 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:24:44 2007 +0200"
      },
      "message": "remove blk_queue_max_phys_segments in libata\n\nLIBATA_MAX_PRD is the maximum number of DMA scatter/gather elements\npermitted by the HBA\u0027s DMA engine. It\u0027s properly set to\nq-\u003emax_hw_segments via the sg_tablesize parameter.\n\nlibata shouldn\u0027t call blk_queue_max_phys_segments. Now LIBATA_MAX_PRD\nis equal to SCSI_MAX_PHYS_SEGMENTS by default (both is 128), so\neverything is fine. But if they are changed, some code (like the scsi\nmid layer, sg chaining, etc) might not work properly.\n\n(Addition from Jens) The basic issue is that the physical segment\nsetting is purely a driver issue. And since SCSI is managing the sglist,\nlibata has no business changing the setting. All libata should care\nabout is the hw segment setting.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0874ee76bcd06e2f53c32a56773ad82f5920f0f9",
      "tree": "d38285f71ba3daaacf516b6dc3b98ccf2147d7e6",
      "parents": [
        "f1346372f9c73154727bf2cadb7f78126597efd2"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Aug 18 18:27:36 2007 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:21:01 2007 +0200"
      },
      "message": "libata sg chaining support fix\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8726021626780a73e795c9b939e1ee49ac8c9136",
      "tree": "7f42d69578ab8f286a4b66180c95864a60e95690",
      "parents": [
        "a8474ce23a73185dd2bae4c884b1716474032d31"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:14:12 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:14:12 2007 +0200"
      },
      "message": "libata: convert to using sg helpers\n\nThis converts libata to using the sg helpers for looking up sg\nelements, instead of doing it manually.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c5d0e6a0d225c03b59a0a70f940e439085235ba2",
      "tree": "c041f599955a1e9ac97416da2307ac9050612cfe",
      "parents": [
        "23f9b75e79f6fbe438a20d10a11ca45a14b8a584"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 15 17:29:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 17:56:36 2007 -0700"
      },
      "message": "docbook: fix libata content\n\nFix libata docbook warnings.\n\nWarning(linux-2.6.23-git8//drivers/ata/libata-scsi.c:3251): No description found for parameter \u0027dev\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d8a67b9f0428de3d8b76984c5c38675a7f4abd4",
      "tree": "ff081ef573efa91f90d4b970b9f5b00f363b29ee",
      "parents": [
        "a52cefc80fc92981592c688d1c8067442afe4cec"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 18:10:12 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 18:10:12 2007 -0400"
      },
      "message": "[libata] pata_cs5536: new API build fix\n\nThis driver was using hooks that were very recently removed.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "77ec15cc265af2c165b7e39cadcaddb9e64aac3d",
      "tree": "42d8d77ba76717626d519950cb873d85da8d3e55",
      "parents": [
        "317b50b8ad2f544a12c8f29d99a91225e8c5db1d"
      ],
      "author": {
        "name": "Kristoffer Ericson",
        "email": "kristoffer.ericson@gmail.com",
        "time": "Mon Oct 15 15:51:42 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:51:42 2007 -0400"
      },
      "message": "[libata] pata_pcmcia: Add additional id string (corsair, 1GB)\n\nSigned-off-by: Kristoffer Ericson \u003ckristoffer.ericson@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "317b50b8ad2f544a12c8f29d99a91225e8c5db1d",
      "tree": "43af04f1f7eedd4dca63ad401c4ca65bc4247d5c",
      "parents": [
        "8f73a6880183dd11b97d70e738cf82d15931d98b"
      ],
      "author": {
        "name": "Andrew Paprocki",
        "email": "andrew@ishiboo.com",
        "time": "Mon Oct 15 15:43:12 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:44:22 2007 -0400"
      },
      "message": "libata: prevent devices with blank model names from being DMA blacklisted\n\nThe strn_pattern_cmp routine does not handle a blank name parameter\nproperly. The only patterns which should match a blank name are \"*\"\nand an explicit \"\". If the function is passed a blank name in current\ncode, it will always match against the patt parameter. The bug manifests\nitself as the device with the empty model name always matching the first\ndevice in the DMA blacklist, forcing it to revert to PIO mode.\n\nSigned-off-by: Andrew Paprocki \u003candrew@ishiboo.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "8f73a6880183dd11b97d70e738cf82d15931d98b",
      "tree": "6cf36f9db1b38478e7b80f289e0d5d7ff11983a7",
      "parents": [
        "3957df6160c90955979229b230cb5202e6a5ee2b"
      ],
      "author": {
        "name": "Jason Gaston",
        "email": "jason.d.gaston@intel.com",
        "time": "Thu Oct 11 16:05:15 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:44:20 2007 -0400"
      },
      "message": "ata_piix: SATA 2port controller port map fix\n\nThis patch adds a port map for ICH9 and ICH8 SATA controllers that have only 2 ports available in that mode.\n\nSigned-off-by:  Jason Gaston \u003cjason.d.gaston@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3957df6160c90955979229b230cb5202e6a5ee2b",
      "tree": "2d58fdddf114f52807f35cb6ed409c93d62975df",
      "parents": [
        "135879600834124881ee37eabaaa56818c44bca3"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Oct 11 03:38:19 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:44:18 2007 -0400"
      },
      "message": "pata_cs5536: ATA driver for Geode companion chip\n\nThis is a driver for the ATA controller on the Geode CS5536 companion\nchip.  The PCI device ID for this device was previously claimed by\npata_amd.c but the PIO timings were not correct.  This driver also\nworks around a bug in some BIOSes that handle unaligned access to the\nPCI config registers poorly.  Finally, the driver allows fallback to\nusing MSR registers for configuration on BIOSes that are truly\nbroken.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "135879600834124881ee37eabaaa56818c44bca3",
      "tree": "c7392c3d7586c8688889cca35aa0bc307c5f07dc",
      "parents": [
        "f58db80267c24e15d959e372d23651a43443c5f3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 11 10:49:26 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:24:54 2007 -0400"
      },
      "message": "libata: add ST9160821AS / 3.CCD to NCQ blacklist\n\nST9160821AS / 3.CCD does spurious completions too.  Blacklist it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f58db80267c24e15d959e372d23651a43443c5f3",
      "tree": "bcbc79c4c4232b68a5a5b109f27083c2e55c64b1",
      "parents": [
        "f140f0f12fc8dc7264d2f97cbe663564e7d24f6d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Oct 10 15:57:44 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:24:54 2007 -0400"
      },
      "message": "libata: fix revalidation issuing after configuration commands\n\nAfter commands which can change device configuration, EH is scheduled\nto revalidate and reconfigure the device.  Host link was incorrectly\nused unconditionally when scheduling EH action.  This resulted in\nbogus revalidation request and mismatched configuration between device\nand driver.  Fix it.\n\nThis bug was reported by Igor Durdanovic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Igor Durdanovic \u003cidurdanovic@comcast.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f140f0f12fc8dc7264d2f97cbe663564e7d24f6d",
      "tree": "fe59760afaa523b4918901c13d241fd1d339f388",
      "parents": [
        "2b9e68f728d6b2cf38b252650f017576e8dae2ad"
      ],
      "author": {
        "name": "Kuan Luo",
        "email": "kluo@nvidia.com",
        "time": "Mon Oct 15 15:16:53 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:16:53 2007 -0400"
      },
      "message": "[libata] sata_nv: add SW NCQ support for MCP51/MCP55/MCP61\n\nAdd the Software NCQ support to sata_nv.c for MCP51/MCP55/MCP61 SATA\ncontroller.  NCQ function is disable by default, you can enable it\nwith \u0027swncq\u003d1\u0027.  NCQ will be turned off if the drive is Maxtor on\nMCP51 or MCP55 rev 0xa2 platform.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Kuan Luo \u003ckluo@nvidia.com\u003e\nSigned-off-by: Peer Chen \u003cpchen@nvidia.com\u003e\nCc: Zoltan Boszormenyi \u003czboszor@dunaweb.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "2b9e68f728d6b2cf38b252650f017576e8dae2ad",
      "tree": "9a5d5947879a192666307cc90dbfcc23d64fb83c",
      "parents": [
        "f4921aff5b174349bc36551f142a5dbac782ea3f"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Jul 06 19:21:22 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 14:58:51 2007 -0400"
      },
      "message": "[libata] pata_sil680: Add MMIO support\n\nThis patch adds MMIO support to the pata_sil680 for taskfile IOs,\nbased on what the old siimage does.\n\nI haven\u0027t bothered changing the chip setup stuff from PCI config\ncycles to MMIO though (siimage does it), I don\u0027t think it matters,\nI\u0027ve only adapted it to use MMIO for taskfile accesses.\n\nI\u0027ve tested it on a Cell blade and it seems to work fine.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b4482a4b2e2ff5ed96d8d16d72e83e75064062c5",
      "tree": "675b5f0a80d720c63db138d5395d63cee6c74969",
      "parents": [
        "64a6f9500d8e8a8e1b1adc2120e56cc88df5727f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Oct 14 19:35:40 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 14 12:41:52 2007 -0700"
      },
      "message": "more trivial signedness fixes in drivers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80d4b4169e46949e1919d470ebc508cf4fbf0996",
      "tree": "a70f553b8738989dd9896e4ccdf9ce1c632ce947",
      "parents": [
        "86a2249d69ff8bb9ecadb5830c2fcfdf10dc70b9"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Oct 13 22:36:57 2007 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 14 08:57:30 2007 -0700"
      },
      "message": "mpc52xx-ata: fix compile warning (unused variable)\n\nTrivial unused variable fix\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2855568b1ee4f58ef2c0a13ddfceb4b0b216b7ed",
      "tree": "79262af301c2386c2c391942991742653bc7935e",
      "parents": [
        "b06ce3e51e3df4394a584c234f11240b1c6f8d5b"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Oct 11 17:12:35 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:47 2007 -0400"
      },
      "message": "[libata] struct pci_dev related cleanups\n\n* remove pointless pci_dev_to_dev() wrapper.  Just directly reference\n  the embedded struct device like everyone else does.\n\n* pata_cs5520: delete cs5520_remove_one(), it was a duplicate of\n  ata_pci_remove_one()\n\n* linux/libata.h: don\u0027t bother including linux/pci.h, we don\u0027t need it.\n  Simply declare \u0027struct pci_dev\u0027 and assume interested parties will\n  include the header, as they should be doing anyway.\n\n* linux/libata.h: consolidate all CONFIG_PCI declarations into a\n  single location in the header.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b06ce3e51e3df4394a584c234f11240b1c6f8d5b",
      "tree": "6a6f5a1cccdc2972b236d376afeba4fd296d5400",
      "parents": [
        "afaa5c373d2c49ee4865847031b82f1377f609d0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 15:06:48 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:47 2007 -0400"
      },
      "message": "libata: use ata_exec_internal() for PMP register access\n\nPMP registers used to be accessed with dedicated accessors -\u003epmp_read\nand -\u003epmp_write.  During reset, those callbacks are called with the\nport frozen so they should be able to run without depending on\ninterrupt delivery.  To achieve this, they were implemented polling.\n\nHowever, as resetting the host port makes the PMP to isolate fan-out\nports until SError.X is cleared, resetting fan-out ports while port is\nfrozen doesn\u0027t buy much additional safety.\n\nThis patch updates libata PMP support such that PMP registers are\naccessed using regular ata_exec_internal() mechanism and kills\n-\u003epmp_read/write() callbacks.  The following changes are made.\n\n* PMP access helpers - sata_pmp_read_init_tf(), sata_pmp_read_val(),\n  sata_pmp_write_init_tf() are folded into sata_pmp_read/write() which\n  are now standalone PMP register access functions.\n\n* sata_pmp_read/write() returns err_mask instead of rc.  This is\n  consistent with other functions which issue internal commands and\n  allows more detailed error reporting.\n\n* ahci interrupt handler is modified to ignore BAD_PMP and\n  spurious/illegal completion IRQs while reset is in progress.  These\n  conditions are expected during reset.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "afaa5c373d2c49ee4865847031b82f1377f609d0",
      "tree": "785203bd4538d2e3c36622ebc2eac93652c7e19e",
      "parents": [
        "2b789108fc1dcba22050a7e6e29ae5ebaea427dd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 15:06:10 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:47 2007 -0400"
      },
      "message": "libata: implement ATA_PFLAG_RESETTING\n\nImplement ATA_PFLAG_RESETTING.  This flag is set while reset is in\nprogress.  It\u0027s set before prereset is called and cleared after reset\nfails or postreset is finished.\n\nThis flag itself doesn\u0027t have any function.  It will be used by LLDs\nto tell whether reset is in progress if it needs to behave differently\nduring reset.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2b789108fc1dcba22050a7e6e29ae5ebaea427dd",
      "tree": "1c241e249c388d956ad9771efacfd827a24ec41e",
      "parents": [
        "5f226c6bf78edab023ed1ea679531731d9df92a6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 15:05:44 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:47 2007 -0400"
      },
      "message": "libata: add @timeout to ata_exec_internal[_sg]()\n\nAdd @timeout argument to ata_exec_internal[_sg]().  If 0, default\ntimeout ata_probe_timeout is used.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5f226c6bf78edab023ed1ea679531731d9df92a6",
      "tree": "01e0dff1224476aa52c240ee958ec7948bb85cc6",
      "parents": [
        "1c954a4d9a9e351fa3509533fd8dd5f3821206cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 15:02:23 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:47 2007 -0400"
      },
      "message": "ahci: fix notification handling\n\nAsynchronous notification on ICH9 didn\u0027t work because it didn\u0027t write\nAN FIS into the RX area - it only updates SNotification.  Also,\nsnooping SDB_FIS RX area is racy against further SDB FIS receptions.\nLet sata_async_notification() determine using SNTF if it\u0027s available\nand snoop RX area iff SNTF isn\u0027t available\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1c954a4d9a9e351fa3509533fd8dd5f3821206cd",
      "tree": "edc1571ab692de818543b9c5ddbd80e6bbbfca29",
      "parents": [
        "75da6d2b8f518bec40546bc0b0696a2cebecf6cc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 15:01:37 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:47 2007 -0400"
      },
      "message": "ahci: clean up PORT_IRQ_BAD_PMP enabling\n\nNow that we have pp-\u003eintr_mask, move PORT_IRQ_BAD_PMP enabling to\nahci_pmp_attach/detach() where it belongs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "75da6d2b8f518bec40546bc0b0696a2cebecf6cc",
      "tree": "2ee776da78cfc3dd9a42ebcfdc7864248982159f",
      "parents": [
        "9073868376ed5fa1f247327ccb2e6f766d5b7eed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 14:59:50 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "ahci: kill leftover from enabling NCQ over PMP\n\nahci had problems with NCQ over PMP and NCQ used to be disabled while\nPMP was attached.  After fixing the problem, the temporary NCQ\ndisabling code wasn\u0027t removed completely.  Kill the remaining piece.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9073868376ed5fa1f247327ccb2e6f766d5b7eed",
      "tree": "ad79d7da02173e99c300988dfefbdf8fc1081088",
      "parents": [
        "94ff3d54080975686a3c41e73b8926030ee0c31f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 14:58:33 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "libata: wrap schedule_timeout_uninterruptible() in loop\n\nTasks in uninterruptible sleep might be woken up by unrelated events\nand should check whether the condition it was waiting for has actually\ntriggered.  Wrap schedule_timeout_uninterruptible() in loop to achieve\nit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "94ff3d54080975686a3c41e73b8926030ee0c31f",
      "tree": "07bc1b90166697c4783fbe5fbbc5f56b37448ddf",
      "parents": [
        "abf6e8ed07213bdd9734be2e42639b79310bd81c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 14:57:56 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "libata: skip suppress reporting if ATA_EHI_QUIET\n\nATA_EHI_NO_AUTOPSY and ATA_EHI_QUIET are used during initial probing\nto skip exception analysis and reporting.  Usually, there\u0027s nothing to\nreport but on some allowed but rare corner cases (e.g. phy status\nchanged interrupt when IRQ is enabled on frozen port - this happens if\nIRQ pending status isn\u0027t cleared in the IRQ router or controller)\nexception messages get printed.\n\nSkip reporting if ATA_EHI_QUIET is set.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "abf6e8ed07213bdd9734be2e42639b79310bd81c",
      "tree": "27ea8657a2342a9a9ef9e7f8b8deef6fdc37adbd",
      "parents": [
        "a01f48b8e7f5ca1000d662fe205e6fe884e0d132"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Oct 09 14:57:25 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "libata: clear ehi description after initial host report\n\nehi description field is used to carry LLD specific controller\ndescription.  Sometimes, it\u0027s used without clearing before and LLD\ndescription gets printed with exception information one more time.\nClear after printing.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a01f48b8e7f5ca1000d662fe205e6fe884e0d132",
      "tree": "9d911d6b4583d43966edfdacb63a4656a3a0a76d",
      "parents": [
        "954bb005c9d5368188ef03ff1d723ff3c0e8ae99"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Oct 07 07:04:50 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "pata_jmicron: match vendor and class code only\n\nPATA part of all current JMB controllers behave the same way and\nJMicron confirms that all future ones will stay compatible.  Drop\ndevice matching and match only vendor and class.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Ethan Hsiao \u003cethanhsiao@jmicron.com\u003e\nCc: Justin Tsai \u003cjustin@jmicron.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "954bb005c9d5368188ef03ff1d723ff3c0e8ae99",
      "tree": "a1ca5b00ed087f96fffe4a2b0685c70958eb92ea",
      "parents": [
        "025621f9a7c0efe1139d43d246136a0f3e8ea675"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Oct 05 08:54:39 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "libata: add ST9160821AS / 3.ALD to NCQ blacklist\n\nST9160821AS / 3.ALD also does spurious NCQ completions.  Disable NCQ.\n\nSigned-off-by: Tejun Heo \u003cteheo@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "025621f9a7c0efe1139d43d246136a0f3e8ea675",
      "tree": "0d561c3d898ba00517e6340f14de178b4a80fad5",
      "parents": [
        "badff03df7a005d13ea2ae8ddc2f5ec0cfc049e8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Oct 04 21:32:58 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "pata_acpi: ACPI driver support\n\n\tOn a cable there may be\n\teighty wires or perhaps forty\n\tand we learn about its type\n\tIn the world of ACPI\n\n\tSo we call the GTM\n\tAnd we find the the timing rate\n\tAnd we look through it to see\n\tIf eighty wire it must be\n\n\tTiming lives in ACPI routines\n\tACPI routines, ACPI routines\n\tTiming lives in ACPI routines\n\tACPI routes ACPI routines\n\n\tAnd the drivers last you see\n\tPicking up unknown pci ids\n\tand the code begins to work\n\n\tTiming lives in ACPI routines\n\tACPI routines, ACPI routines\n\tTiming lives in ACPI routines\n\tACPI routes ACPI routines\n\n\t[Full speed ahead, Mr Hacker, full speed ahead]\n\t Full speed over here sir!\n\t Checking Cable, checking cable\n\t Aye aye, 80 wire,\n\t Heaven heaven]\n\n\tIf we use ACPI (ACPI)\n\tEvery box (every box) has all we need (has all we need)\n\tCable type (cable type) and mode timing (mode timing)\n\tIn our ATA (in our ATA) subroutines (subroutines, ha ha)\n\n\tTiming lives in ACPI routines\n\tACPI routines, ACPI routines\n\tTiming lives in ACPI routines\n\tACPI routes ACPI routines\n\tTiming lives in ACPI routines\n\tACPI routines, ACPI routines\n\tTiming lives in ACPI routines\n\tACPI routes ACPI routines\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "badff03df7a005d13ea2ae8ddc2f5ec0cfc049e8",
      "tree": "11f661e29c5991a9baf33382749ce9f8347da5cf",
      "parents": [
        "70edb185dbaa8a9ec0d6f3e50bb5698a4e85ded6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Oct 04 21:28:18 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "libata-core: Expose gtm methods for driver use\n\nTalk to the dark side our driver has to, yes. Much misleading is the\ndata. Store it in a structure we do so that it may be parsed.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n--\nWhats small, old and shouts phrases out of order across mountains ?\nYodla..\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "70edb185dbaa8a9ec0d6f3e50bb5698a4e85ded6",
      "tree": "a5da53b6cb18a4af2cb236a9dc716e85b5af55f0",
      "parents": [
        "da6f0ec2d54acf545e784363aa5bad0dafc5ffa8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 04 17:27:59 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:46 2007 -0400"
      },
      "message": "libata: add HDT722516DLA380 to NCQ blacklist\n\nHDT722516DLA380 does spurious completion of NCQ commands.  Blacklist\nit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "da6f0ec2d54acf545e784363aa5bad0dafc5ffa8",
      "tree": "6021fc075e2f2ea4cda846ccdfd82c17bf92ffb5",
      "parents": [
        "6ebe9d8667d3f449350cbc6686cd917ecf1f40dd"
      ],
      "author": {
        "name": "Paolo Ornati",
        "email": "ornati@fastwebnet.it",
        "time": "Thu Oct 04 11:06:56 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata: blacklist NCQ on Seagate Barracuda ST380817AS\n\nSeagate Barracuda ST380817AS has troubles with NCQ. For example,\nunpacking a tarball on an XFS filesystem gives this:\n\nata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x2 frozen\nata1.00: cmd 61/40:00:29:a3:98/00:00:00:00:00/40 tag 0 cdb 0x0 data 32768 out\n         res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)\n\nMore info here:\nhttp://lkml.org/lkml/2007/1/21/76\n\nBlacklist it!\n\nSigned-off-by: Paolo Ornati \u003cornati@fastwebnet.it\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6ebe9d8667d3f449350cbc6686cd917ecf1f40dd",
      "tree": "69bf3ba519ac04aa930101104ad56294d754e7db",
      "parents": [
        "2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 05 16:28:36 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "[libata] Turn on ACPI by default\n\nLet\u0027s see what explodes.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2",
      "tree": "3d1b15c4314568dd7ccedb43a406060d5b6093be",
      "parents": [
        "681c80b5d96076f447e8101ac4325c82d8dce508"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 02 13:53:04 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata_scsi: Fix ATAPI transfer lengths\n\nSome controller variants snoop the ATAPI length value for Packet\ntransfers to do state machine and FIFO management. Thus we want to\nset it properly, even for cases where it is otherwise meaningless.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "681c80b5d96076f447e8101ac4325c82d8dce508",
      "tree": "82cbcc887b5bbdd7c4ed48f38a3e97762cac98db",
      "parents": [
        "237d8440cb2b104a3b97fc971a9bce67960bb616"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Oct 03 13:23:18 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata: correct handling of SRST reset sequences\n\nCorrect handling of SRST reset sequences.  After an SRST it is undefined\nwhether the drive has gone back to PIO0.  In order to talk safely we should\ntalk slowly and carefully until we know.\n\nThus when we do the reset if the controller has a pio setup method we call it\nto flip back to PIO 0 and a known state.  After the reset completes the\nidentify will then be done at the safe speed and the drive/controller will\npick suitable faster modes and reconfigure the controller to these timings.\n\nAs a side effect it means we force the controller to PIO 0 as we bring it up\nwhich fixes funnies on a few systems where the BIOS firmware leaves us in an\ninteresting choice of modes, or embedded boxes with no firmware which come up\nin random states.\n\nFor smart controllers there is nothing to do - they know about this\ninternally.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "237d8440cb2b104a3b97fc971a9bce67960bb616",
      "tree": "1199f27b0858c67f2f327c70be108ec5b03448fb",
      "parents": [
        "b3a706014e56b1356e7b275fd25b833c63175bf0"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Wed Oct 03 01:24:16 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata: Integrate ACPI-based PATA/SATA hotplug - version 5\n\nModern laptops with hotswap bays still tend to utilise a PATA interface\non a SATA bridge, generally with the host controller in some legacy\nemulation mode rather than AHCI. This means that the existing hotplug\ncode in libata is unable to work. The ACPI specification states that\nthese devices can send notifications when hotswapped, which avoids the\nneed to obtain notification from the controller. This patch uses the\nexisting libata-acpi code and simply registers a notification in order\nto trigger a rescan whenever the firmware signals an event.\n\nSigned-off-by: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b3a706014e56b1356e7b275fd25b833c63175bf0",
      "tree": "1595a67c8b09f9222c4d59f466acca681a56a02c",
      "parents": [
        "7100819f5f9b99eb7c7dd5597f293388a405bf7b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Tue Oct 02 12:38:26 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata: Add a drivers/ide style DMA disable\n\nThis is useful when debugging, handling problem systems, or for\ndistributions just to get the system installed so it can be sorted\nout later.\n\nThis is a bit smarter than the old IDE one and lets you do\n\nlibata.dma\u003d0\tDisable all PATA DMA like old IDE\nlibata.dma\u003d1\tDisk DMA only\nlibata.dma\u003d2\tATAPI DMA only\nlibata.dma\u003d4\tCF DMA only\n\n(or combinations thereof - 0,1,3 being the useful ones I suspect)\n\n(I\u0027ve split CF as it seems to be a seperate case of pain and suffering\ndifferent to the others and caused by assorted PIO wired adapters etc)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n\n[edited to work on SATA too, changing name from \u0027pata_dma\u0027 to \u0027dma\u0027]\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "7100819f5f9b99eb7c7dd5597f293388a405bf7b",
      "tree": "3a386aab745c01976318ada8559db7f1cb5b76d4",
      "parents": [
        "1333e19434da116bc832e1b8925359d1565fedc9"
      ],
      "author": {
        "name": "Peer Chen",
        "email": "peerchen@gmail.com",
        "time": "Mon Sep 24 10:16:25 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "ahci: Add MCP79 support to AHCI driver\n\nSigned-off-by: Peer Chen \u003cpeerchen@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1333e19434da116bc832e1b8925359d1565fedc9",
      "tree": "581785c8864f55347e1de0eb10850cc374b79b6e",
      "parents": [
        "6949b9148d3656afc13a2ccc06d13c071ec71bdc"
      ],
      "author": {
        "name": "Robert Hancock",
        "email": "hancockr@shaw.ca",
        "time": "Tue Oct 02 11:22:02 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata: add human-readable error value decoding\n\nThis adds human-readable decoding of the ATA status and error registers\n(similar to what drivers/ide does) as well as the SATA Serror register\nto libata error handling output.  This prevents the need to pore\nthrough standards documents to figure out the meaning of the bits\nin these registers when looking at error reports.  Some bits that\ndrivers/ide decoded are not decoded here, since the bits are either\ncommand-dependent or obsolete, and properly parsing them would add\ntoo much complexity.\n\nSigned-off-by: Robert Hancock \u003chancockr@shaw.ca\u003e\n\n[edited slightly to make output a bit more symmetric]\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6949b9148d3656afc13a2ccc06d13c071ec71bdc",
      "tree": "fc8021205536a67e7701ad413767a412449e51f7",
      "parents": [
        "417a1a6d3d7abad4c5288135f640e6e38e7a65c5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:55 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "ahci: implement AHCI_HFLAG_NO_PMP\n\nOf course some controllers lie about PMP support.  Black list them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "417a1a6d3d7abad4c5288135f640e6e38e7a65c5",
      "tree": "87207680dbfb4b06f6267a49fbea68a880fba894",
      "parents": [
        "7d50b60b5e38f910ad69f0187af00f5d6a8970d4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:55 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "ahci: move host flags over to pi.private_data\n\nPrivate pi.flags area is full and we need more private flags.  Move\nhost private flags over to pi.private_data.  During initialization,\nthese flags are copied to hpriv-\u003eflags.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7d50b60b5e38f910ad69f0187af00f5d6a8970d4",
      "tree": "627c57902e588ad6e7f51a2df9f2b8f091e014c0",
      "parents": [
        "238180343eff95697ed71eea137cf61ba3cea6ad"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:54 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "ahci: implement PMP support\n\nImplement AHCI PMP support.  ahci only supports command based\nswitching.  Also, for some reason, NCQ over PMP doesn\u0027t work now.\nOther than that, everything works.\n\nTested on ICH9R, JMB360/363 + SIMG3726, 4726 and 5744.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Forrest Zhao \u003cforrest.zhao@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "238180343eff95697ed71eea137cf61ba3cea6ad",
      "tree": "e7beaf26a9181e26e3b7bbf57dc8f321ef2949c7",
      "parents": [
        "3454dc6922dc550c0d3ccf292c4e227403b10b6e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:54 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "sata_sil24: implement PORT_RST\n\nAs DEV_RST (hardreset) sometimes fail to recover the controller\n(especially after PMP DMA CS errata).  In such cases, perform PORT_RST\nprior to DEV_RST.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3454dc6922dc550c0d3ccf292c4e227403b10b6e",
      "tree": "d87c26e26d52725ee7f54d1cf81e81c0a4adc53f",
      "parents": [
        "31f88384443b3e0d7e2c9d36a96647b7e82edad3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:54 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "sata_sil24: implement PMP support\n\nImplement PMP support.  sil24 supports full FIS-switching.  However,\nit has a PMP DMA CS errata which requires port-wide resetting if\ncommands are outstanding to three or more devices when an error occurs\non one of them.\n\nATAPI commands often result in CHECK SENSE and it\u0027s crucial to not\nreset them before fetching sense data.  Unfortunately, ATAPI CHECK\nSENSE causes a lot of problem if command is outstanding to any other\ndevice usually resulting in port-wide reset.  So, sata_sil24\nimplements sil24_qc_defer() which guarantees ATAPI command is run by\nitself.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "31f88384443b3e0d7e2c9d36a96647b7e82edad3",
      "tree": "7bd6321d668f86adbf266513b83a75ae8d568772",
      "parents": [
        "d0df8b5d0fb547a3351c2a4b1ded7f7cde5d713a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:54 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "libata-pmp: implement qc_defer for command switching PMP support\n\nImplement sata_pmp_qc_defer_cmd_switch() - standard qc_defer for\ncommand switching PMP support.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d0df8b5d0fb547a3351c2a4b1ded7f7cde5d713a",
      "tree": "a2005ec3be6e493844b092edeca9306fbc70f4b8",
      "parents": [
        "633273a3ed1cf37ced90475b0f95cf81deab04f1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:54 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "libata-pmp: extend ACPI support to cover PMP\n\nExtend ata_acpi_associate_sata_port() such that it can handle PMP and\ncall it when PMP is attached and detached.\n\nBuild breakage when !CONFIG_ATA_ACPI was spotted and fixed by Petr\nVandrovec.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "633273a3ed1cf37ced90475b0f95cf81deab04f1",
      "tree": "5cd42191d1ea8d5ee84fb2f7c7660f124787d9e8",
      "parents": [
        "3af9a77af9e2b72366363864bfcd3d51465ff98a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:54 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "libata-pmp: hook PMP support and enable it\n\nHook PMP support into libata and enable it.  Connect SCR and probing\nfunctions, and update ata_dev_classify() to detect PMP.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3af9a77af9e2b72366363864bfcd3d51465ff98a",
      "tree": "f6a311a56353cf81d34d64cf1a3f86aa6f659246",
      "parents": [
        "3495de733633d24ee97852080b737b436c110d6e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:54 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:44 2007 -0400"
      },
      "message": "libata-pmp: implement Port Multiplier support\n\nImplement Port Multiplier support.  To support PMP, a LLDD has to\nsupply ops-\u003epmp_read() and pmp_write().  If non-null, -\u003epmp_attach and\n-\u003epmp_detach are called on PMP attach and detach, respectively.\n\n-\u003epmp_read/write() can be called while the port is frozen, so they\nmust be implemented by polling.  This patch supplies several helpers\nto ease -\u003epmp_read/write() implementation.\n\nAlso, irq_handler and error_handler must be PMP aware.  Most of PMP\naware EH can be done by calling ata_pmp_do_eh() with appropriate\nmethods.  PMP EH uses separate set of reset methods and this patch\nimplements standard prereset, hardreset and postreset methods.\n\nThis patch only implements PMP support.  The next patch will integrate\nPMP into the reset of libata and thus enable PMP support.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3495de733633d24ee97852080b737b436c110d6e",
      "tree": "e4b521a1bc1563679185ae15f32a74c3e1ae3b88",
      "parents": [
        "93328e1145c1989d1a214d34ac4e968dea7f7ed7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:19:53 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:43 2007 -0400"
      },
      "message": "libata-pmp: update ata_eh_reset() for PMP\n\nPMP always requires SRST to be enabled.  Also, hardreset reports\nclassification code from the first device when PMP is attached, not\nfrom the PMP.  Update ata_eh_reset() such that followup softreset is\nperformed if the controller is PMP capable and the host link is being\nreset.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "93328e1145c1989d1a214d34ac4e968dea7f7ed7",
      "tree": "3b22b8453c9c3526abeb68efcc45eacff4e6574b",
      "parents": [
        "54174db300ee1bac632d62e4ac37fe02e47d1f18"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Sat Sep 29 04:06:48 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:43 2007 -0400"
      },
      "message": "[PATCH] libata: Fix HPA handling regression\n\nRestore the support for handling drives that report one sector too many\n(ie SCSI not ATA style). This worked before the HPA update but was\nremoved in that process.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "54174db300ee1bac632d62e4ac37fe02e47d1f18",
      "tree": "28a2014b1482045476e0fa31b5b501f79a68160c",
      "parents": [
        "c4b5b7b6c4423ec4ced4177c87d2da04de324028"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Sep 29 04:01:43 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:43 2007 -0400"
      },
      "message": "[libata] ata_piix: add HP compaq laptop to short cable list\n\nReported by Andreas Messer.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c4b5b7b6c4423ec4ced4177c87d2da04de324028",
      "tree": "7e20556e7a48a647e2a14310587164609c14c11a",
      "parents": [
        "0b0a43e04ea671adc3cac085ee567d63c9ab3507"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Sat Sep 29 02:35:10 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:43 2007 -0400"
      },
      "message": "pata_ns87415: Initial cut at 87415/87560 IDE support\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n[plus SuperIO fixes by Kyle McMartin]\n[plus a cleanup from me]\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0b0a43e04ea671adc3cac085ee567d63c9ab3507",
      "tree": "7d0fa1f459d6d6aa839544b7765163ac6ec316f7",
      "parents": [
        "7f567620ed32bea40a2acc25900c79db4dff96aa"
      ],
      "author": {
        "name": "David Milburn",
        "email": "dmilburn@redhat.com",
        "time": "Fri Sep 28 14:29:06 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:43 2007 -0400"
      },
      "message": "libata-core: blacklist HITACHI HDS drives using wildcard blacklist matching\n\nBlacklist HITACHI HDS7250SASUN500G and HITACHI HDS7225SBSUN250G\ndrives using wildcard matching.\n\nSigned-off-by David Milburn \u003cdmilburn@redhat.com\u003e\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7f567620ed32bea40a2acc25900c79db4dff96aa",
      "tree": "507beed131edc9114c16515214f03f89d065e505",
      "parents": [
        "78e70c237ffbf219680fb967624e1423e5c1f25a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Sep 28 06:29:23 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:43 2007 -0400"
      },
      "message": "libata: update spurious NCQ completion blacklist\n\n* The firmware version of ST3160812AS is \"3.ADJ\" no \"3.AD\".\n* Add several entries from various sources.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "06b74dd28fa607249c5e41e5f1f6dd1885fe0a0d",
      "tree": "04312f14d7117251d2ffdc51e966bedb9d664467",
      "parents": [
        "21d2c925d3da6aabf9a0b34e95787202379f682a"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Sep 26 15:23:17 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "pata_pdc202xx_old MWDMA fixes, and notes\n\nI\u0027ve been doing an audit of this driver to try and find out why we have\nproblems with some Clevo boxes that use it. Didn\u0027t get anywhere other\nthan to discover all the bug reporters I have use vmware, which may or\nmay not be chance.\n\nIn the process however I did find out our MWDMA2 performance was a bit\nlow and code review showed the MWDMA0/2 timings are reversed due to a\nthinko in the table ordering\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "21d2c925d3da6aabf9a0b34e95787202379f682a",
      "tree": "ecc292c071e6d30b45e035f0e6f2ad09f79e2536",
      "parents": [
        "3cc3eb1148e4b2dfabf7a1dcf36fd8be1331ca95"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Sep 26 23:02:52 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "pata_atiixp: Audit notes on locking\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3cc3eb1148e4b2dfabf7a1dcf36fd8be1331ca95",
      "tree": "5f987f613eb8dae6c170f97fe9acb47379902a32",
      "parents": [
        "b90fe23bd51c6b1c298159591c833bdd24f55002"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 26 00:02:41 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "[libata] AHCI: enable AHCI mode, before using AHCI reset\n\nAHCI spec says host-reset bit may only be set when the ahci-enable bit\nis also set.\n\nNoticed by Peer Chen \u003cpeerchen@gmail.com\u003e\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b90fe23bd51c6b1c298159591c833bdd24f55002",
      "tree": "9c64c6f95d1899106184cd6d576b95c400145d4a",
      "parents": [
        "b6d6c74628767e1bd33c735b3b2ee7b132b4198e"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Sat Sep 22 08:20:09 2007 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "libata: Fix build failure on ppc64 drivers/ata/pata_scc.c\n\nLittle fixlets, that the build started erroring / warning about:\n\ndrivers/ata/pata_scc.c: In function \u0027scc_bmdma_status\u0027:\ndrivers/ata/pata_scc.c:734: error: structure has no member named \u0027active_tag\u0027\ndrivers/ata/pata_scc.c: In function \u0027scc_pata_prereset\u0027:\ndrivers/ata/pata_scc.c:866: warning: passing arg 1 of \u0027ata_std_prereset\u0027 from incompatible pointer type\ndrivers/ata/pata_scc.c: In function \u0027scc_error_handler\u0027:\ndrivers/ata/pata_scc.c:908: warning: passing arg 2 of \u0027ata_bmdma_drive_eh\u0027 from incompatible pointer type\ndrivers/ata/pata_scc.c:908: warning: passing arg 3 of \u0027ata_bmdma_drive_eh\u0027 from incompatible pointer type\ndrivers/ata/pata_scc.c:908: warning: passing arg 5 of \u0027ata_bmdma_drive_eh\u0027 from incompatible pointer type\nmake[2]: *** [drivers/ata/pata_scc.o] Error 1\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nCc: Alan Cox \u003calan@redhat.com\u003e\nCc: Mel Gorman \u003cmel@skynet.ie\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b6d6c74628767e1bd33c735b3b2ee7b132b4198e",
      "tree": "ba96a354766e1b16690bd567fb1b569e61610000",
      "parents": [
        "1e582ba4ef6264dd8cb73250ebff767d0624d684"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Sep 21 17:55:44 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "sata_via: kill SATA_PATA_SHARING register handling\n\nThe SATA_PATA_SHARING register doesn\u0027t have anything to do with the\nSATA part of the controller.  It indicates whether an extern SATA PHY\nis attached to the PATA part of the controller and if so how it is\nwired.  As the PATA part is driven by pata_via, sata_via has no reason\nto care about that.  Also, pata_via should work fine under all\nconfigurations.\n\nThis patch removes unnecessary attach failures.  It seems recent via\nchipsets are defaulting to different values or are actually connected\nto SATA PHY triggering this more often.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1e582ba4ef6264dd8cb73250ebff767d0624d684",
      "tree": "50c904091b297c15b4f9987a9c8a1cc7039f0f97",
      "parents": [
        "7d77b247088fb360aa74bfdd9e19bce1e1987668"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Sep 21 20:07:14 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "libata: fix ata_set_max_sectors()\n\nIn ata_set_max_sectors(), the highest nibble in LBA28 mode was\nmissing.  This made drives sized between 8G and 128G with HPA turned\non to be resized to under 8G.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7d77b247088fb360aa74bfdd9e19bce1e1987668",
      "tree": "add1b03309dd6fa82eb0f47e1a88766695f38f28",
      "parents": [
        "e31e8531d668c9c4dc7883054788f89805188003"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "libata-pmp-prep: implement sata_async_notification()\n\nAN serves multiple purposes.  For ATAPI, it\u0027s used for media change\nnotification.  For PMP, for downstream PHY status change notification.\nImplement sata_async_notification() which demultiplexes AN.\n\nTo avoid unnecessary port events, ATAPI AN is not enabled if PMP is\nattached but SNTF is not available.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kriten Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e31e8531d668c9c4dc7883054788f89805188003",
      "tree": "9c3762792344d24c996d6459409456664a2e381b",
      "parents": [
        "668108d73bbb1ae85f01db38d6be822fd28ece1f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ATA_HORKAGE_SKIP_PM\n\nSome pseudo devices fail PM commands unnecessarily aborting system\nsuspend.  Implement ATA_HORKAGE_SKIP_PM which makes libata skip PM\ncommands for these devices.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "668108d73bbb1ae85f01db38d6be822fd28ece1f",
      "tree": "72362b9c55d4558d3d40db647589bcc5fa1b9a09",
      "parents": [
        "f9df58cb27dfd605eced643bb3aa599fe4feeee8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement EH fast-fail path\n\nIf PMP itself becomes inaccessible while trying to link a downstream\nlink, spending time to recover the downstream link doesn\u0027t make any\nsense.  Make EH skip retry and fail fast if -ERESTART is received.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f9df58cb27dfd605eced643bb3aa599fe4feeee8",
      "tree": "23b5151855d07f3b25c081e29d14f5d353367248",
      "parents": [
        "fd995f7039f1955ccc6b43e1e2d168060b31e4b2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ATA_LFLAG_DISABLED\n\nImplement ATA_LFLAG_DISABLED.  The flag indicates the link is disabled\ndue to EH recovery failure.  While a link is disabled, no EH action is\ntaken on the link and suspend/resume become noop too.\n\nThis will be used by PMP links to manage failed links.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fd995f7039f1955ccc6b43e1e2d168060b31e4b2",
      "tree": "1aac318f211493183508a97aa6c8b2b6cb41d0b6",
      "parents": [
        "ae791c05694d7391ee9261a0450a50f7e95aedfd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ATA_LFLAG_NO_RETRY\n\nSome PMP links are connected to internal pseudo devices which may come\nand go depending on situation.  There\u0027s no reason to try hard to\nrecover them.  ATA_LFLAG_NO_RETRY tells EH to not retry if the device\nattached to the link fails.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ae791c05694d7391ee9261a0450a50f7e95aedfd",
      "tree": "73e3fbcd6cdfe667b5dcc512daaec7fb5941a132",
      "parents": [
        "da917d69d0ea63f5390716cba6e77f490ce96df9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ATA_LFLAG_NO_SRST, ASSUME_ATA and ASSUME_SEMB\n\nSome links on some PMPs locks up on SRST and/or report incorrect\ndevice signature.  Implement ATA_LFLAG_NO_SRST, ASSUME_ATA and\nASSUME_SEMB to handle these quirky links.  NO_SRST makes EH avoid\nSRST.  ASSUME_ATA and SEMB forces class code to ATA and SEMB_UNSUP\nrespectively.  Note that SEMB isn\u0027t currently supported yet so the\n_UNSUP variant is used.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "da917d69d0ea63f5390716cba6e77f490ce96df9",
      "tree": "214670f42be4c140bbd05226adc8f86db51ee725",
      "parents": [
        "31cc23b34913bc173680bdc87af79e551bf8cc0d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement qc_defer helpers\n\nImplement ap-\u003enr_active_links (the number of links with active qcs),\nap-\u003eexcl_link (pointer to link which can be used by -\u003eqc_defer and is\ncleared when a qc with ATA_QCFLAG_CLEAR_EXCL completes), and\nata_link_active().\n\nThese can be used by -\u003eqc_defer() to implement proper command\nexclusion.  This set of helpers seem enough for both sil24 (ATAPI\nexclusion needed) and cmd-switching PMP.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "31cc23b34913bc173680bdc87af79e551bf8cc0d",
      "tree": "ec64421ead9259174f0de8b22c36449ece6d69a4",
      "parents": [
        "fb7fd61454c8681cd2621051a710b78a00369203"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ops-\u003eqc_defer()\n\nControllers which support PMP have various restrictions on which\ncombinations of commands are allowed to what number of devices\nconcurrently.  This patch implements ops-\u003eqc_defer() which determines\nwhether a qc can be issued at the moment or should be deferred.\n\nIf the function returns ATA_DEFER_LINK, the qc will be deferred until\na qc completes on the link.  If ATA_DEFER_PORT, until a qc completes\non any link.  The defer conditions are advisory and in general\nATA_DEFER_LINK can be considered as lower priority deferring than\nATA_DEFER_PORT.\n\nops-\u003eqc_defer() replaces fixed ata_scmd_need_defer().  For standard\nNCQ/non-NCQ exclusion, ata_std_qc_defer() is implemented.  ahci and\nsata_sil24 are converted to use ata_std_qc_defer().\n\nops-\u003eqc_defer() is heavier than the original mechanism because full qc\nis prepped before determining to defer it, but various information is\nneeded to determine defer conditinos and fully translating a qc is the\nonly way to supply such information in generic manner.\n\nIMHO, this shouldn\u0027t cause any noticeable performance issues as\n\n* for most cases deferring occurs rarely (except for NCQ-aware\n  cmd-switching PMP)\n* translation itself isn\u0027t that expensive\n* once deferred the command won\u0027t be repeated until another command\n  completes which usually is a very long time cpu-wise.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fb7fd61454c8681cd2621051a710b78a00369203",
      "tree": "491cbdbca867f59b9f1cb1032a4f40a33385e471",
      "parents": [
        "422c9daa8b5bea09f3393b11a106afd68850b39b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: make a number of functions global to libata\n\nMake a number of functions from libata-core.c and libata-eh.c global\nto libata (drivers/ata/libata.h).  These will be used by PMP.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "422c9daa8b5bea09f3393b11a106afd68850b39b",
      "tree": "76a4d15d77a26c049ca80ae850473b83df47d332",
      "parents": [
        "e0a7175263db4a226558883a51a88a5d2bc5d9fe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "libata-pmp-prep: add @new_class to ata_dev_revalidate()\n\nConsider newly found class code while revalidating.  PMP resetting\nalways results in valid class code and issuing PMP commands to\nATA/ATAPI device isn\u0027t very attractive.  Add @new_class to\nata_dev_revalidate() and check class code for revalidation.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "854c73a2f1c3bcc4aa88c25e208dc597e8efb795",
      "tree": "210569f3c4fa4f9413ceb0bc3fcf89648a9894b2",
      "parents": [
        "c78968bb0f7714ceba1cdfa23714454fc98cefdf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:11 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "libata: misc updates for AN\n\nUpdate AN support in preparation of PMP support.\n\n* s/ata_id_has_AN/ata_id_has_atapi_AN/\n* add AN enabled reporting during configuration\n* add err_mask to AN configuration failure reporting\n* update LOCKING comment for ata_scsi_media_change_notify()\n* check whether ATA dev is attached to SCSI dev ata_scsi_media_change_notify()\n* set ATA_FLAG_AN in ahci and sata_sil24\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kriten Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c78968bb0f7714ceba1cdfa23714454fc98cefdf",
      "tree": "cbf066559205ce0d00829c74a406f3a2140623e4",
      "parents": [
        "24f756866676b40446e361c1f87738707161da93"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 21:03:28 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: simulator version, not device version, belongs in VPD\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "24f756866676b40446e361c1f87738707161da93",
      "tree": "2709ec5b4bb5f0e9c980621e7a1a2b97bdcd7a93",
      "parents": [
        "00bd02027fc4a5cf92a3e538896b3642b40515df"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 07:54:49 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: clean up R/W recovery mode page\n\nClear ARRE, we don\u0027t do auto-reallocation on reads, just on writes.\n\nAlso, hardcode the size of the array using RW_RECOVERY_MPAGE_LEN,\nfollowing the style of the surrounding code.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "00bd02027fc4a5cf92a3e538896b3642b40515df",
      "tree": "e5e2a72a467577a5a65be5886f96039c2f62a8af",
      "parents": [
        "453941455218a81eedcea5dbafa38b8815920a8c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 07:26:08 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: improve FORMAT UNIT; minor code cleanups\n\n* SAT specifies that FORMAT UNIT should be translated into a series\n  of READ and WRITE commands that zero the ATA device.  That is far too\n  cumbersome to bother with.\n\n  Since we don\u0027t actually format the device, the old behavior of\n  always returning success was inaccurate.  Change FORMAT UNIT from\n  returning success immediately (old behavior) to always returning\n  an error (new behavior).\n\n* Add some comments around SYNCHRONIZE CACHE\n\n* Shuffle scsi command code around a bit, so that things are close\n  to alphabetic order.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "453941455218a81eedcea5dbafa38b8815920a8c",
      "tree": "b2f21afae3beb39da13f089c02f0f09bfc4de697",
      "parents": [
        "ad355b4628a19ba2af30409e13083edda221a5c9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 06:23:42 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] Slightly improved no-op REQUEST SENSE, SEND DIAGNOSTIC\n\nA few pedantic apps care about missing or lame \"mandatory\" SCSI\ncommands, so\n\nREQUEST SENSE -- as we autosense, R.S. just returns zeroes\n\nSEND DIAGNOSTIC -- our default (no-op) self-test succeeds, all\n\t\t   other requests for testing fail.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ad355b4628a19ba2af30409e13083edda221a5c9",
      "tree": "775ade42b8a7e67d0c687b54f01f13122c2482db",
      "parents": [
        "d4155e6f13e931048036976d9fb47b5db53ee7a3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 20:38:03 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: support INQUIRY page 89h (ATA info page)\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d4155e6f13e931048036976d9fb47b5db53ee7a3",
      "tree": "cdcdc7161c2230cbf09339fc0979760bf90a02a5",
      "parents": [
        "d7fbee050753e153622b5d41bc8bd1cb19cda9b9"
      ],
      "author": {
        "name": "Jason Gaston",
        "email": "jason.d.gaston@intel.com",
        "time": "Thu Sep 20 17:35:00 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "ahci: RAID mode SATA patch for Intel Tolapai\n\nSigned-off-by: Jason Gaston \u003cjason.d.gaston@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d7fbee050753e153622b5d41bc8bd1cb19cda9b9",
      "tree": "962b543b95bdea7e2b6f9393b64250396640a616",
      "parents": [
        "3f19859ee95a38c066a0420eb8a30c76ecd67a42"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 02 23:24:48 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "libata: assume ATA_DEV_ATA on diagnostic failure\n\nCertain device which reports diagnostic failure also reports invalid\ndevice signature.  Assume ATA_DEV_ATA on diagnostic failure if reset\nindicates device presence.\n\nThis is fix for bugzilla bug 8784.\n\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d8784\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Edward Amsden \u003camsden_linux@earthlink.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3f19859ee95a38c066a0420eb8a30c76ecd67a42",
      "tree": "0ad611a48ddb18be3b8ec35e4dc318e2fd344961",
      "parents": [
        "7a234aff3d83728fd83cf19df32d3df52566d2ac"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 02 23:23:57 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "libata: update ata_dev_try_classify() arguments\n\nMake ata_dev_try_classify() take a pointer to ata_device instead of\nata_port/port_number combination for consistency and add @present\nargument.  @present indicates whether the device seems present during\nreset.  It\u0027s the result of TF access during softreset and link\nonlineness during hardreset.  @present will be used to improve\ndiagnostic failure handling.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7a234aff3d83728fd83cf19df32d3df52566d2ac",
      "tree": "d991844bf7a7882eacd72a57a1465b25dc55e95d",
      "parents": [
        "05027adccc09401a7e31d5ef51040dc75ab03c22"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Sep 03 12:44:57 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "ahci: reimplement port_map handling\n\nReimplement port_map handling such that\n\n1. Non-zero PORTS_IMPL value is always examined and used if consistent\n   with cap.n_ports.\n\n2. When PI and cat.n_ports are inconsistent, honor cap.n_ports and\n   force port_map to be ((1 \u003c\u003c cap.n_ports) - 1).\n\n3. There were two separate places dealing with port_map.  Unify them\n   to one.\n\nAs all newer ahci chips seem to get PI correct and older ones usually\nhave zero PI.  Controllers with holes in PI are very unlikely to screw\nup PI, so #2 makes more sense than following inconsistent PI.\n\nWithout this change, not setting ATA_FLAG_HONOR_PI when it\u0027s needed\nresults in weird detection failure.  This changed logic should be able\nto handle all known cases correctly automatically.\n\nVerified on ICH6 (reports 0 PI), ICH8 (with holes in port_map), ICH9,\nJMB360 and JMB363.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "05027adccc09401a7e31d5ef51040dc75ab03c22",
      "tree": "83fbb8e65d26e10e1fd74377bc13fd358a61c13e",
      "parents": [
        "c728a9149f519cbb9f610962873f4e22ed4a6efd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Sep 03 12:32:57 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "libata: remiplement ata_hpa_resize()\n\nThis patch reimplement ata_hpa_resize() such that...\n\n* All HPA related decisions are made inside ata_hpa_resize() proper.\n  ata_hpa_resize() returns 0 if configuration can proceed, -errno if\n  device needs to be reset and reconfigured.\n\n* All errors are handled properly.  If HPA unlocking isn\u0027t requested,\n  HPA handling is disabled automatically to avoid unnecessary device\n  detection failure.\n\n* Messages are trimmed.  HPA detection message is printed only during\n  initial configuration.  HPA unlocked message is printed only during\n  initial configuration or unlocking results in different size.\n\n* Instead of using sectors returned in TF of SET_MAX, re-read IDENTIFY\n  data as that\u0027s the value the device is going to use.\n\n* It\u0027s called early during ata_dev_configure() as IDENTIFY data might\n  change after resizing.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c728a9149f519cbb9f610962873f4e22ed4a6efd",
      "tree": "f739bd40345252ab7885ac6af63ca176d7f36000",
      "parents": [
        "db6f8759d05d2082f09a45b5674edc0fb5e92b1b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Sep 03 12:32:30 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "libata: clean up read/set native_max address functions\n\nMerge ata_read_native_max_addres_ext() into ata_read_native_max_address()\nand combine ata_set_native_max_address_ext() and\nata_set_native_max_address() into ata_set_max_sectors().\n\n* reduce duplicate code\n* return 0 or -errno depending on error conditions\n* report if command fails\n* use ATA_LBA instead of 0x40\n\nThis is in preparation of ata_hpa_resize() update.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "db6f8759d05d2082f09a45b5674edc0fb5e92b1b",
      "tree": "68dd85f8cf6160249f52cdb99dbb2e2c47e0456f",
      "parents": [
        "2557164e0b18e78a7772632a2a90832f56181fc5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Sep 03 12:31:58 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "libata: move ata_id_n_sectors() upward\n\nMove ata_id_n_sectors() upward right below ata_id_c_string().  This is\nto accomodate later changes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e2d352af6d8f1734394bc1bcf0afe345cc3ef235",
      "tree": "4140c8309c935b065169e349205b1c60aac18cb2",
      "parents": [
        "7120165cf31e989baf7836218ca0a13643074735"
      ],
      "author": {
        "name": "Jason Gaston",
        "email": "jason.d.gaston@intel.com",
        "time": "Fri Sep 07 17:21:03 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:39 2007 -0400"
      },
      "message": "ata_piix: replace spaces with tabs\n\nThis patch removes some incorrect formatting spaces and replaces them with tabs.\n\nSigned-off-by: Jason Gaston \u003cjason.d.gaston@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7120165cf31e989baf7836218ca0a13643074735",
      "tree": "c3297a0ce98a012edf582348132090aa6a1764f7",
      "parents": [
        "e10b8c3f5f23188e065b1845ba732570eca007fe"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Sep 18 17:48:50 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "libata-scsi: convert to use the data buffer accessors\n\n  simple search-and-replace of direct scsi_cmnd access to\n  use the data buffer accessors.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e10b8c3f5f23188e065b1845ba732570eca007fe",
      "tree": "f236f3a850bbefc16e4819992a725f678c6a0421",
      "parents": [
        "d2a84f47899d1efc24fa610696f7b793692279c7"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Sep 18 17:46:12 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "libata-scsi: Remove !use_sg code paths\n\n     This is a minimal patch needed to remove use of !use_sg\n     but it is not a complete clean up of the !use_sg paths.\n     Libata-core still has the qc-\u003eflags \u0026 ATA_QCFLAG_SG\n     and !qc-\u003en_elem code paths. Perhaps an ata maintainer\n     would have a go at it.\n\n     - TODO: further cleanup of qc-\u003eflags \u0026 ATA_QCFLAG_SG\n       and !qc-\u003en_elem code paths in libata-core\n     - TODO: Use scsi_dma_{map,unmap} where applicable.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d2a84f47899d1efc24fa610696f7b793692279c7",
      "tree": "52334248ca785c0a43da154b42c0a484e6391df1",
      "parents": [
        "c645fd34256e8ef4986d3e8acd569890cc421e5d"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Sep 20 15:07:12 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "pdc2027x: Switch properly to ioread/iowrite\n\nSome iomap functions were still using readl/writel and friends which\nhappens to work on most platforms but is not correct.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c645fd34256e8ef4986d3e8acd569890cc421e5d",
      "tree": "5736257a7ecf53c1028da7e7f63328f76f125d93",
      "parents": [
        "539cc7c70c12fbdad4ee11f901cd7a0d7f52b186"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Sep 20 14:58:48 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "libata: Update experimental tags to reflect reality better\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "539cc7c70c12fbdad4ee11f901cd7a0d7f52b186",
      "tree": "b0c2d9e0b78f98108f3176cad481788d14706a36",
      "parents": [
        "ec300d99ef8699a6f383889b8f8c0d0ebadc2a74"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Sep 20 16:31:47 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "[libata] blacklist Maxtor*BANC* using new wildcard blacklist matching\n\nSupport the use of \u0027*\u0027 in model_num and model_rev entries\nin ata_device_blacklist[].\n\nBased largely on David Milburn\u0027s \"libata-core: support wildcard matching\nin ata_blacklist_entry\" patch.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ec300d99ef8699a6f383889b8f8c0d0ebadc2a74",
      "tree": "f7185868783318ea25d473a724860d292c0b84a1",
      "parents": [
        "7c9ef8e418374aec0a62e64d9b40d457634fd039"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Sep 01 07:17:36 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "[libata] ata_piix: Use more-robust form of array initialization\n\nUse a form of array init that is less fragile, less sensitive to trivial\ntypos and ordering mismatches.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7c9ef8e418374aec0a62e64d9b40d457634fd039",
      "tree": "6a9c30266aa97b38515647cdc404cb7d3c512e15",
      "parents": [
        "d830d1731fa5906aad20c228ac8b73005b13d468"
      ],
      "author": {
        "name": "Kristoffer Nyborg Gregertsen",
        "email": "kngregertsen@norway.atmel.com",
        "time": "Wed Aug 08 16:57:08 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:37 2007 -0400"
      },
      "message": "AVR32 PATA driver\n\nUpdated and simplified driver. Use only register transfer timing for both\ndata and register transfers. This gives poorer performance in PIO1 and 2,\nbut should not be a problem in PIO3 and 4, correct me if I\u0027m wrong :)\n\nThe driver works very we\u0027ll but I still wonder about the interrupts. I have\nan interrupt line, that works nicely when POLLING flag is not set. The\nproblem is the number of interrupts that eat away my CPU cycles.\n\nWhen using the POLLING flag there seem to be some interrupts that dosen\u0027t get\ncleared. Furthermore the device dosen\u0027t drive INTRQ high, it stays at 2.5 volts\nand generates a lot of interrupts due to ripple / noise. What to do?\n\nSigned-off-by: Kristoffer Nyborg Gregertsen \u003ckngregertsen@norway.atmel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d830d1731fa5906aad20c228ac8b73005b13d468",
      "tree": "a3eec3277480c504fa466f42a7c4da7838d98abb",
      "parents": [
        "a1e10f7e68a544c80081fee4fa550dc28389f44a"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.adi@gmail.com",
        "time": "Tue Aug 21 13:12:31 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:37 2007 -0400"
      },
      "message": "libata driver for bf548 on chip ATAPI controller.\n\nFix all issues pointed out in Jeff\u0027s email.\n\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a1e10f7e68a544c80081fee4fa550dc28389f44a",
      "tree": "cf6673989f360e0b12b2a658a7042d30420c14eb",
      "parents": [
        "cbcdd87593a1d85c5c4b259945a3a09eee12814d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Aug 18 13:28:49 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:37 2007 -0400"
      },
      "message": "libata: move EH repeat reporting into ata_eh_report()\n\nEH is sometimes repeated without any error or action.  For example,\nthis happens when probing IDENTIFY fails because of a phantom device.\nIn these cases, all the repeated EH does is making sure there is no\nunhandled error or pending action and return.  This repeation is\nnecessary to avoid losing any event which occurred while EH was in\nprogress.\n\nUnfortunately, this dry run causes annonying \"EH pending after\ncompletion\" message.  This patch moves the repeat reporting into\nata_eh_report() such that it\u0027s more compact and skipped on dry runs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mikael Pettersson \u003cmikep@it.uu.se\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "cbcdd87593a1d85c5c4b259945a3a09eee12814d",
      "tree": "ee03df963a12ec7f30f6c3a8742421daf2c34f50",
      "parents": [
        "e923090ddd9fef1d4e06dc6c5295e29baced19f3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Aug 18 13:14:55 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:37 2007 -0400"
      },
      "message": "libata: implement and use ata_port_desc() to report port configuration\n\nCurrently, port configuration reporting has the following problems.\n\n* iomapped address is reported instead of raw address\n* report contains irrelevant fields or lacks necessary fields for\n  non-SFF controllers.\n* host-\u003eirq/irq2 are there just for reporting and hacky.\n\nThis patch implements and uses ata_port_desc() and\nata_port_pbar_desc().  ata_port_desc() is almost identical to\nata_ehi_push_desc() except that it takes @ap instead of @ehi, has no\nlocking requirement, can only be used during host initialization and \"\n\" is used as separator instead of \", \".  ata_port_pbar_desc() is a\nhelper to ease reporting of a PCI BAR or an offsetted address into it.\n\nLLD pushes whatever description it wants using the above two\nfunctions.  The accumulated description is printed on host\nregistration after \"[S/P]ATA max MAX_XFERMODE \".\n\nSFF init helpers and ata_host_activate() automatically add\ndescriptions for addresses and irq respectively, so only LLDs which\nisn\u0027t standard SFF need to add custom descriptions.  In many cases,\nsuch controllers need to report different things anyway.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e923090ddd9fef1d4e06dc6c5295e29baced19f3",
      "tree": "907852433d5eb6504ca3766c5df868013e85c926",
      "parents": [
        "c7293870a93a99e9ce0f4d98f3a271539c7c6ad6"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Mon Aug 20 16:56:29 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:37 2007 -0400"
      },
      "message": "libata: pata_pdc2027x PLL detection minor cleanup\n\nMinor cleanup to remove the unneeded rmb()s per Jeff\u0027s advice. Also removed the\npll_clock \u003c 0 check since pll_clock now guaranteed to be \u003e\u003d 0 after Mikael\u0027s patch.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "614fe29bd91f99cc1c1fbf3274fa918691044f47",
      "tree": "49e8a37c3f6aeb24ee106969088ca351b4e3782c",
      "parents": [
        "4743d0854faa5624148ac6cf3fe9692e977eefa1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Aug 22 23:22:45 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:37 2007 -0400"
      },
      "message": "libata: Spot bridge chips\n\nIf we have a PATA cable with a SATA drive on it then we\u0027ve found a\nbridge and we can flip the cable type. This fixes some cable detect\nproblems with SATA bridges on chipsets and misdetected cable types.\n\nIn theory cable detection and mode limiting is needed if you put a\nSATA/PATA bridge on a 40 wire cable, but I see no way to deal with\nthat other than to point out its not a good idea anyway.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "81ad1837b590775336f68eafcae8dab13a975b3a",
      "tree": "acdbe73364759c291eaf2ad40c708374e23cddfe",
      "parents": [
        "ac8869d56d95a8c74403e6f7a47d74fcfcc1b988"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Aug 22 22:55:41 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:36 2007 -0400"
      },
      "message": "libata: Switch most of the remaining SFF drivers to ata_sff_port_start\n\nThis avoids allocating DMA buffers if not needed but at the moment is\nmostly just a neatness item.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ac8869d56d95a8c74403e6f7a47d74fcfcc1b988",
      "tree": "2f812aff4c6e559f3c093f9933960d09631375c8",
      "parents": [
        "7d73a363dea186a864f6295bbe842da8044d42cd"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Aug 16 03:17:03 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:35 2007 -0400"
      },
      "message": "[libata] Remove -\u003eport_disable() hook\n\nIt was always set to ata_port_disable().  Removed the hook, and replaced\nthe very few ap-\u003eops-\u003eport_disable() callsites with direct calls to\nata_port_disable().\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7d73a363dea186a864f6295bbe842da8044d42cd",
      "tree": "42f98fd78c48a174780daf800c91e2dadc00628c",
      "parents": [
        "e708eb9bc0515f36d77477877e74b6b9056b5879"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jul 26 18:38:06 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:34 2007 -0400"
      },
      "message": "libata pata_via: ACPI checks for 80wire cable\n\nTesting this on the VIA boards fixes several problems with otherwise\nundetectable SATA bridge chips\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e708eb9bc0515f36d77477877e74b6b9056b5879",
      "tree": "04fddbab3eb45a5067d6c4ae603b9a6841236d52",
      "parents": [
        "e1ddb4b6a2c9b2c72991eb8640ef2f50691ac502"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Jul 26 18:37:28 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:34 2007 -0400"
      },
      "message": "libata pata_amd: ACPI checks for 80wire cable\n\nWe can make use of this on the pata_amd driver as many Nvidia devices\ndon\u0027t have reliable cable detect.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    }
  ],
  "next": "e1ddb4b6a2c9b2c72991eb8640ef2f50691ac502"
}
