)]}'
{
  "log": [
    {
      "commit": "3c1e3896344063273715b332b1c0534deb9b286c",
      "tree": "fbc97263f4c9c87288baaf65825fcddead14f617",
      "parents": [
        "edb804713ffb660ddad5dda5fb8f2addea7ad8c6"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Fri Jul 11 09:42:03 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jul 11 09:42:03 2008 -0400"
      },
      "message": "libata-acpi: don\u0027t call sleeping function from invalid context\n\nThe problem is introduced by commit\n664d080c41463570b95717b5ad86e79dc1be0877.\n\nacpi_evaluate_integer is a sleeping function,\nand it should not be called with spin_lock_irqsave.\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d451399\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b344991ace21896a83694c86d132b8494a29f3be",
      "tree": "f6c7dace53bbd30ad3b79160265b5e470c52f1f2",
      "parents": [
        "f57e91682d141ea50d8c6d42cdc251b6256a3755"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Jul 06 23:15:03 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jul 11 09:38:23 2008 -0400"
      },
      "message": "libata-acpi: filter out DIPM enable\n\nSome BIOSen enable DIPM via _GTF which causes command timeouts under\ncertain configuration.  This didn\u0027t occur on 2.6.25 because 2.6.25\ndefaulted to SRST, so _GTF wasn\u0027t executed during boot probe, so ahci\nhost reset disabled DIPM and as _GTF wasn\u0027t executed after SRST, DIPM\nwasn\u0027t enabled.  On 2.6.26, hardreset is used during probe and after\nprobe _GTF is executed enabling DIPM and thus the failures.\n\nThis patch could theoretically disable DIPM on machines which used to\nhave it enabled on 2.6.25 but AFAIK ahci is currently the only driver\nwhich uses SATA ACPI hierarchy (_SDD) and as the host reset would have\nalways disabled DIPM, this shouldn\u0027t happen.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "664d080c41463570b95717b5ad86e79dc1be0877",
      "tree": "6843884af68ebc586200eb5e26f2799f3c5c893e",
      "parents": [
        "c3b25b32e8bef526cca748e1ba023c6bdd705a99"
      ],
      "author": {
        "name": "Holger Macht",
        "email": "hmacht@suse.de",
        "time": "Tue Jun 03 20:27:59 2008 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jun 04 06:28:50 2008 -0400"
      },
      "message": "[libata] ACPI: Properly handle bay devices in dock stations\n\n* Differentiate between bay devices in dock stations and others:\n\n - When an ACPI_NOTIFY_EJECT_REQUEST appears, just signal uevent to\n   userspace (that is when the optional eject button on a bay device is\n   pressed/pulled) giving the possibility to unmount file systems and to\n   clean up. Also, only send uevent in case we get an EJECT_REQUEST\n   without doing anything else. In other cases, you\u0027ll get an add/remove\n   event because libata attaches/detaches the device.\n\n - In case of a dock event, which in turn signals an\n   ACPI_NOTIFY_EJECT_REQUEST, immediately detach the device, because it\n   may already have been gone\n\n* In case of an ACPI_NOTIFY_DEVICE/BUS_CHECK, evaluate _STA to check if\n  the device has been plugged or unplugged. If plugged, hotplug it, if\n  unplugged, just signal event to userspace\n  (initial patch by Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e)\n\n* Call ACPI _EJ0 for detached devices\n\nSigned-off-by: Holger Macht \u003chmacht@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c85665ffa8e351a5b38f8e4ceaec527d8783c970",
      "tree": "f0698d4f5432e7cd7d23d3ae953e04b8a4c5cea3",
      "parents": [
        "ae6c23c4e1ec9720b99e1e6850fe47c6c7fddbb3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon May 19 17:56:10 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon May 19 17:56:10 2008 -0400"
      },
      "message": "drivers/ata: trim trailing whitespace\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "ae6c23c4e1ec9720b99e1e6850fe47c6c7fddbb3",
      "tree": "645210471902a33b044cdf9f9e06620677b01835",
      "parents": [
        "50af2fa1e18d0ab411d06bf727ecadb7e01721e9"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Mon May 19 17:29:34 2008 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon May 19 17:55:18 2008 -0400"
      },
      "message": "Fixups to ATA ACPI hotplug\n\nThe libata-acpi.c code currently accepts hotplug messages from both the\nport and the device. This does not match the behaviour of the bay\ndriver, and may result in confusion when two hotplug requests are\nreceived for the same device. This patch limits the hotplug notification\nto removable ACPI devices, which in turn allows it to use the _STA\nmethod to determine whether the device has been removed or inserted.\nOn removal, devices are marked as detached. On insertion, a hotplug scan\nis started. This should avoid lockups caused by the ata layer attempting\nto scan devices which have been removed. The uevent sending is moved\noutside the spinlock in order to avoid a warning generated by it firing\nwhen interrupts are disabled.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "66a9099e02e3fca5198ab52b4bb7088f03dee42e",
      "tree": "24594ea4ca870a1f6e961a1cce27c0fd967009f2",
      "parents": [
        "a0b9f4bc1ec2ea25e47e7958e544fef0d122e012"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 22 01:50:35 2008 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Apr 25 00:45:52 2008 -0400"
      },
      "message": "libata-acpi.c: remove unneeded #if\u0027s\n\nThese #if\u0027s are unneeded since they:\n- did anyway not handle the CONFIG_ACPI_DOCK_MODULE case correctly and\n- this is already handled in include/acpi/acpi_drivers.h and\n- it\u0027s now correctly handled in kconfig.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "48feb3c419508487becfb9ea3afcc54c3eac6d80",
      "tree": "a2fb97368937e20a4f4a837d67543ea816186c7b",
      "parents": [
        "094e50b2f74146d8ee924fea4808e58c4ed2f163"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Mar 25 16:50:45 2008 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:56:29 2008 -0400"
      },
      "message": "ata-acpi: don\u0027t call _GTF for disabled drive\n\nI got below log after a S3 resume in a ASUS A6VC laptop. The system has\nonly one IDE drive. It appears there is no reason calling _GTF for\ndisabled drive.\n\nACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126]\nACPI Error (psparse-0537): Method parse/execution failed [\\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE\nACPI Error (psparse-0537): Method parse/execution failed [\\_SB_.PCI0.IDE0.CHN1.DRV0._GTF] (Node df822bd0), AE_AML_OPERAND_VALUE\nata2.00: _GTF evaluation failed (AE 0x3006)\nACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126]\nACPI Error (psparse-0537): Method parse/execution failed [\\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE\nACPI Error (psparse-0537): Method parse/execution failed [\\_SB_.PCI0.IDE0.CHN1.DRV1._GTF] (Node df822b94), AE_AML_OPERAND_VALUE\nata2.01: _GTF evaluation failed (AE 0x3006)\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "071f44b1d2c051641b62a3571223314737ccbe59",
      "tree": "a07794c8109e5d82a78223ae0159eadbf862c463",
      "parents": [
        "48515f6c006c2a9d7b624ee8ad068018c2d3fe0e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 07 22:47:22 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:44:25 2008 -0400"
      },
      "message": "libata: implement PMP helpers\n\nImplement helpers to test whether PMP is supported, attached and\ndetermine pmp number to use when issuing SRST to a link.  While at it,\nmove ata_is_host_link() so that it\u0027s together with the two new PMP\nhelpers.\n\nThis change simplifies LLDs and helps making PMP support optional.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "233f112042d0b50170212dbff99c3b34b8773cd3",
      "tree": "2b40ce227755dbbbe3ece6acd161bc7619f19f85",
      "parents": [
        "a978b30af3bab0dd9af9350eeda25e76123fa28e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Mar 12 14:24:43 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Mar 17 08:26:42 2008 -0400"
      },
      "message": "libata-acpi: improve dock event handling\n\nImprove ACPI hotplug handling such that dock event is handled properly.\n\n* Register handlers for dock events.\n\n* Directly detach device on EJECT_REQUEST instead of signaling hotplug\n  event.  This prevents libata from accessing severed controller\n  and/or device.\n\n* While at it, use named constants for ACPI events and move uevent\n  signaling inside host lock.\n\nOriginal patch and testing by Holger Macht.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Holger Macht \u003chmacht@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7f5e4e8d94b6013f93716bc42a1296f95d1059dc",
      "tree": "9ededfd9307c8d2ca1d9e8f11d0f9d1b3a489c21",
      "parents": [
        "cdeeeae056a429e729ae9e914fa8142ee45bee93"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Mar 05 18:24:52 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Mar 10 20:50:31 2008 -0400"
      },
      "message": "ata: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "021ee9a6da1cfc57f6a6c769c3c898bdd4753108",
      "tree": "bb8c0246ded5a1d99320055343c7d277208fadd8",
      "parents": [
        "a0f79b929acaba10d4780acd2543eff20bf4b5b0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 18 16:33:06 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:12 2008 -0500"
      },
      "message": "libata: reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask()\n\nReimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() and\nwhile at it relocate the function below ata_acpi_gtm_xfermask().\n\nNew ata_acpi_cbl_80wire() implementation takes @gtm, in both pata_via\nand pata_amd, use the initial GTM value.  Both are trying to peek\ninitial BIOS configuration, so using initial caching value makes\nsense.  This fixes ACPI part of cable detection in pata_amd which\npreviously always returned 0 because configuring PIO0 during reset\nclears DMA configuration.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a0f79b929acaba10d4780acd2543eff20bf4b5b0",
      "tree": "e637c1d9388a3991cd71c5be339c2ead59c460a2",
      "parents": [
        "5df91a25df08d85700fef5fd59bb1873273e5ef5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 18 16:33:05 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:12 2008 -0500"
      },
      "message": "libata: implement ata_timing_cycle2mode() and use it in libata-acpi and pata_acpi\n\nlibata-acpi is using separate timing tables for transfer modes\nalthough libata-core has the complete ata_timing table.  Implement\nata_timing_cycle2mode() to look for matching mode given transfer type\nand cycle duration and use it in libata-acpi and pata_acpi to replace\nprivate timing tables.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5df91a25df08d85700fef5fd59bb1873273e5ef5",
      "tree": "e413ff0798da2792683db0805128f43798dcfc8d",
      "parents": [
        "7c77fa4d51b1480bcec2e898c94d6912fe063c16"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 18 16:33:04 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:12 2008 -0500"
      },
      "message": "libata: fix ata_acpi_gtm_xfermask()\n\nata_acpi_gtm_xfermask() as separated out from pacpi_discover_modes()\nhas various bugs.  Fix them.\n\n* The wrong comparison operator is used when finding for matching\n  cycle resulting totally bogus result.\n\n* With the comparion operator fixed, boundary condtion handling is\n  clumsy.\n\n* Setting of any DMA mask bit set all bits in PIO mask.\n\n* MWDMA and UDMA blocks are swapped.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7c77fa4d51b1480bcec2e898c94d6912fe063c16",
      "tree": "d7d18fb22c8df2425878d02f4b415c06efa56457",
      "parents": [
        "9cde9ed151e170f2e2a530f7ec0032dfbe9f443b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 18 16:33:03 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:12 2008 -0500"
      },
      "message": "libata: separate out ata_acpi_gtm_xfermask() from pacpi_discover_modes()\n\nFinding out matching transfer mode from ACPI GTM values is useful for\nother purposes too.  Separate out the function and timing tables from\npata_acpi::pacpi_discover_modes().\n\nOther than checking shared-configuration bit after doing\nata_acpi_gtm() in pacpi_discover_modes() which should be safe, this\npatch doesn\u0027t introduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "bd3adca52bc43b72c75db3e4c7809d47923b154c",
      "tree": "ec42456926e50a4b0adf916ac1c5f39f76e057f8",
      "parents": [
        "ae8d4ee7ff429136c8b482c3b38ed994c021d3fc"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Nov 02 09:32:38 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:09 2008 -0500"
      },
      "message": "libata-acpi: add ACPI _PSx method\n\nACPI spec (ver 3.0a, p289) requires IDE power on/off executes ACPI _PSx\nmethods. As recently most PATA drivers use libata, this patch adds _PSx\nmethod support in libata. ACPI spec doesn\u0027t mention if SATA requires the\nsame _PSx method.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3264a8d8f95348e05cc6ac1ce747a8339ed7ab08",
      "tree": "7d9045e726e7e63d6a7cad426b1c9f000298c886",
      "parents": [
        "0e8634bf8e48e50aa96c7e7becafcf9d98c1a28d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:06 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:15 2007 -0500"
      },
      "message": "libata-acpi: implement _GTF command filtering\n\nImplement _GTF command filtering which can be controlled by\nlibata.acpi_filter kernel parameter.  Currently SETXFER and LOCK\ncommands are filtered.\n\nlibata configures transfer mode by itself and _GTF SETXFER commands\ncan potentially disrupt device configuration.  _GTM/_STM mechanism\ncan\u0027t handle hotplugging too well and when _GTF is executed,\ncontroller is in PIO0 rather than the mode _STM configured.\n\nNote that detecting SET MAX LOCK requires looking at the previous\ncommand.  This adds a bit to code complexity.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0e8634bf8e48e50aa96c7e7becafcf9d98c1a28d",
      "tree": "b49e1130fe721d4be4530c5a458b9e39199b4696",
      "parents": [
        "66fa7f2158e84530aa4a1839a3500d6bdb231301"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:05 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:15 2007 -0500"
      },
      "message": "libata-acpi: improve _GTF execution error handling and reporting\n\nAs _GTF commands can\u0027t transfer data, device error never signals\ntransfer error.  It indicates that the device vetoed the operation, so\nit\u0027s meaningless to retry.\n\nThis patch makes libata-acpi to report and continue on device errors\nwhen executing _GTF commands.  Also commands rejected by device don\u0027t\ncontribute to the number of _GTF commands executed.\n\nWhile at it, update _GTF execution reporting such that all successful\ncommands are logged at KERN_DEBUG and rename taskfile_load_raw() to\nata_acpi_run_tf() for consistency.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "66fa7f2158e84530aa4a1839a3500d6bdb231301",
      "tree": "41fb7db89a5c6e48b5ad38a35ef6538a02d42837",
      "parents": [
        "398e07826b24cbeb5ff2f0a178367fc9d24cd475"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:04 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:14 2007 -0500"
      },
      "message": "libata-acpi: improve ACPI disabling\n\n* If _GTF evalution fails, it\u0027s pointless to retry.  If nothing else\n  is wrong, just ignore the error.\n\n* After disabling ACPI, return success iff the number of executed _GTF\n  command equals zero.  Otherwise, tell EH to retry.  This change\n  fixes bogus 1 return bug where ata_acpi_on_devcfg() expects the\n  caller to reload IDENTIFY data and continue but the caller\n  interprets it as an error.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "398e07826b24cbeb5ff2f0a178367fc9d24cd475",
      "tree": "78191583f2e1e5bb0aba9fbee8016e72285f4b31",
      "parents": [
        "c05e6ff035c1b25d17364a685432b33937d3dc23"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:03 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:14 2007 -0500"
      },
      "message": "libata-acpi: implement dev-\u003egtf_cache and evaluate _GTF right after _STM during resume\n\nOn certain implementations, _GTF evaluation depends on preceding _STM\nand both can be pretty picky about the configuration.  Using _GTM\nresult cached during controller initialization satisfies the most\nneurotic _STM implementation.  However, libata evaluates _GTF after\nreset during device configuration and the hardware state can be\ndifferent from what _GTF expects and can cause evaluation failure.\n\nThis patch adds dev-\u003egtf_cache and updates ata_dev_get_GTF() such that\nit uses the cached value if available.  Cache is cleared with a call\nto ata_acpi_clear_gtf().\n\nBecause for SATA ACPI nodes _GTF must be evaluated after _SDD which\ncan\u0027t be done till IDENTIFY is complete, _GTF caching from\nata_acpi_on_resume() is used only for IDE ACPI nodes.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c05e6ff035c1b25d17364a685432b33937d3dc23",
      "tree": "08c9171d024b6659b29a4f9f7d95318430b75b6a",
      "parents": [
        "562f0c2d771ee7be6b37fe015f94a929f8056120"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:02 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:14 2007 -0500"
      },
      "message": "libata-acpi: implement and use ata_acpi_init_gtm()\n\n_GTM fetches currently configured transfer mode while _STM configures\ncontroller according to _GTM parameter and prepares transfer mode\nconfiguration TFs for _GTF.  In many cases _GTM and _STM\nimplementations are quite brittle and can\u0027t cope with configuration\nchanged by libata.\n\nlibata does not depend on ATA ACPI to configure devices.  The only\nreason libata performs _GTM and _STM are to make _GTF evaluation\nsucceed and libata also doesn\u0027t care about how _GTF TFs configure\ntransfer mode.  It overrides that configuration anyway, so from\nlibata\u0027s POV, it doesn\u0027t matter what value is feeded to _STM as long\nas evaluation succeeds for _STM and following _GTF.\n\nThis patch adds dev-\u003e__acpi_init_gtm and store initial _GTM values on\nhost initialization before modified by reset and mode configuration.\nIf the field is valid, ata_acpi_init_gtm() returns pointer to the\nsaved _GTM structure; otherwise, NULL.\n\nThis saved value is used for _STM during resume and peek at\nBIOS/firmware programmed initial timing for later use.  The accessor\nis there to make building w/o ACPI easy as dev-\u003e__acpi_init doesn\u0027t\nexist if ACPI is not enabled.\n\nOn driver detach, the initial BIOS configuration is restored by\nexecuting _STM with the initial _GTM values such that the next driver\ncan also use the initial BIOS configured values.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "562f0c2d771ee7be6b37fe015f94a929f8056120",
      "tree": "17d1616b39894564f70255bd68eec5c19ebf0473",
      "parents": [
        "7f9ad9b8b96855f529f4fe9db0bf32cd3f14c01b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:05:01 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:12 2007 -0500"
      },
      "message": "libata-acpi: add new hooks ata_acpi_dissociate() and ata_acpi_on_disable()\n\nAdd two hooks - ata_acpi_dissociate() which is called during driver\ndetach after the whole host is shutdown and ata_acpi_on_disable()\nwhich is called when a device is disabled.\n\nSigned-off-by: Tejun heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0d02f0b22b678b9d6c8ac8cad7b4cfbbdf6fab18",
      "tree": "27b5f5afcff7450f37432f30661e56337313c5e9",
      "parents": [
        "4e5200334e03e5620aa19d538300c13db270a063"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Dec 15 15:04:57 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 17 20:33:12 2007 -0500"
      },
      "message": "libata-acpi: adjust constness in ata_acpi_gtm/stm() parameters\n\n* No internal function uses const ata_port.  Drop const from @ap.\n\n* Make ata_acpi_stm() copy @stm before using it and change @stm to\n  const.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "037f6bb79f753c014bc84bca0de9bf98bb5ab169",
      "tree": "e6c43c00947fa0d097ae611a4051efa7afd2d06c",
      "parents": [
        "32ebbc0c0d5d18c0135b55d1eb0029f48c54aff0"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Thu Nov 08 18:37:07 2007 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Nov 10 00:31:27 2007 -0500"
      },
      "message": "libata: Don\u0027t fail device revalidation for bad _GTF methods\n\nExperience suggests that the _GTF method may be bad. We currently fail\ndevice revalidation in that case, which seems excessive.\n\nSigned-off-by: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2dcb407e61458ded17503d6bd12b8c064965368b",
      "tree": "6044e032197b84f9943a385b0c9dbb6656c3f97f",
      "parents": [
        "01e7ae8c13bb06a2ce622ebace33bb7e28ef596c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 19 06:42:56 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 23 20:59:42 2007 -0400"
      },
      "message": "[libata] checkpatch-inspired cleanups\n\nTackle the relatively sane complaints of checkpatch --file.\n\nThe vast majority is indentation and whitespace changes, the rest are\n\n* #include fixes\n* printk KERN_xxx prefix addition\n* BSS/initializer cleanups\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\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": "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": "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": "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": "e1ddb4b6a2c9b2c72991eb8640ef2f50691ac502",
      "tree": "fd9d0f14c5a5e329f4c1d2ee737177c5caf24b02",
      "parents": [
        "6d32d30f55020d766388df7515f771f68c973033"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Aug 16 02:33:36 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:34 2007 -0400"
      },
      "message": "[libata] add ACPI cable detect API\n\nCombined from two Alan Cox patches:\n\n1) libata: ACPI checks for 80wire cable\n\nWe can use the ACPI mode information with several drivers as a hint to\ncable type. If the ACPI mode set by the BIOS is faster than UDMA33 then\nwe know the BIOS thinks there are 80wire cables. If it doesn\u0027t set such a\nmode or it has no ACPI method then we get no further information and can\nrely on existing approaches\n\nIntroduce the function headers needed. Null it out for non ACPI boxes\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n\n2) libata: ACPI checks for 80wire cable\n\nProvide actual methods for checking if the ACPI support thinks the cable\nis 80wire, or doesn\u0027t know\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n\nCombined into a single changeset and\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f58229f8060055b08b34008ea08f31de1e2f003c",
      "tree": "6ca5ef546671cb975ef3632fb032c238eaf1bb4c",
      "parents": [
        "9af5c9c97dc9d599281778864c72b385f0c63341"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 06 18:36:23 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:30 2007 -0400"
      },
      "message": "libata-link: implement and use link/device iterators\n\nMultiple links and different number of devices per link should be\nconsidered to iterate over links and devices.  This patch implements\nand uses link and device iterators - ata_port_for_each_link() and\nata_link_for_each_dev() - and ata_link_max_devices().\n\nThis change makes a lot of functions iterate over only possible\ndevices instead of from dev 0 to dev ATA_MAX_DEVICES.  All such\nchanges have been examined and nothing should be broken.\n\nWhile at it, add a separating comment before device helpers to\ndistinguish them better from link helpers and others.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9af5c9c97dc9d599281778864c72b385f0c63341",
      "tree": "8359986bd42c4a9a5b1993078aa9ee4c7971ac3d",
      "parents": [
        "640fdb504941fa2b9f6f274716fc9f97f2bf6bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 06 18:36:22 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:30 2007 -0400"
      },
      "message": "libata-link: introduce ata_link\n\nIntroduce ata_link.  It abstracts PHY and sits between ata_port and\nata_device.  This new level of abstraction is necessary to support\nSATA Port Multiplier, which basically adds a bunch of links (PHYs) to\na ATA host port.  Fields related to command execution, spd_limit and\nEH are per-link and thus moved to ata_link.\n\nThis patch only defines the host link.  Multiple link handling will be\nadded later.  Also, a lot of ap-\u003elink derefences are added but many of\nthem will be removed as each part is converted to deal directly with\nata_link instead of ata_port.\n\nThis patch introduces no behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "64578a3de723d502621860f9d4d28f34d001b066",
      "tree": "821e7ad8e8d6c3a0f3224b479ff000e00001a165",
      "parents": [
        "e5fa24dfdb522b642dbe9b8b1b692f68dce89835"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:16 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jul 09 12:17:32 2007 -0400"
      },
      "message": "libata-acpi: implement _GTM/_STM support\n\nImplement _GTM/_STM support.  acpi_gtm is added to ata_port which\nstores _GTM parameters over suspend/resume cycle.  A new hook\nata_acpi_on_suspend() is responsible for storing _GTM parameters\nduring suspend.  _STM is executed in ata_acpi_on_resume().  With this\nchange, invoking _GTF is safe on IDE hierarchy and acpi_sata check\nbefore _GTF is removed.\n\nata_acpi_gtm() and ata_acpi_stm() implementation is taken from Alan\nCox\u0027s pata_acpi implementation.  ata_acpi_gtm() is fixed such that the\nresult parameter is not shifted by sizeof(union acpi_object).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e5fa24dfdb522b642dbe9b8b1b692f68dce89835",
      "tree": "97dd6c0e43a77ac3012f7aad154a31746bc3e79a",
      "parents": [
        "6746544c3b143ca7071d144f1882ccbe1f47b08d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:16 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jul 09 12:17:31 2007 -0400"
      },
      "message": "libata-acpi: remove redundant checks\n\nRemove remaining unnecessary feature and status checks.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6746544c3b143ca7071d144f1882ccbe1f47b08d",
      "tree": "49106311ab2a748feda2fa91f977f700938d3d5c",
      "parents": [
        "69b16a5f4c4f1dab70d4d555c487c318c6878b3e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:16 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jul 09 12:17:31 2007 -0400"
      },
      "message": "libata: reimplement ACPI invocation\n\nThis patch reimplements ACPI invocation such that, instead of\nexporting ACPI details to the rest of libata, ACPI event handlers -\nata_acpi_on_resume() and ata_acpi_on_devcfg() - are used.  These two\nfunctions are responsible for determining whether specific ACPI method\nis used and when.\n\nOn resume, _GTF is scheduled by setting ATA_DFLAG_ACPI_PENDING device\nflag.  This is done this way to avoid performing the action on wrong\ndevice device (device swapping while suspended).\n\nOn every ata_dev_configure(), ata_acpi_on_devcfg() is called, which\nperforms _SDD and _GTF.  _GTF is performed only after resuming and, if\nSATA, hardreset as the ACPI spec specifies.  As _GTF may contain\narbitrary commands, IDENTIFY page is re-read after _GTF taskfiles are\nexecuted.\n\nIf one of ACPI methods fails, ata_acpi_on_devcfg() retries on the\nfirst failure.  If it fails again on the second try, ACPI is disabled\non the device.  Note that successful configuration clears ACPI failed\nstatus.\n\nWith all feature checks moved to the above two functions,\ndo_drive_set_taskfiles() is trivial and thus collapsed into\nata_acpi_exec_tfs(), which is now static and converted to return the\nnumber of executed taskfiles to be used by ata_acpi_on_resume().  As\nfailures are handled properly, ata_acpi_push_id() now returns -errno\non errors instead of unconditional zero.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "69b16a5f4c4f1dab70d4d555c487c318c6878b3e",
      "tree": "658604c9f846cdf0f8a158f1ee29a7e96c22ccfe",
      "parents": [
        "4700c4bc9262a9e78f7197c4c41cc2be085d5276"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:16 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jul 09 12:17:31 2007 -0400"
      },
      "message": "libata-acpi: miscellaneous cleanups\n\n* Add missing LOCKING: and RETURNS: to function comment.\n\n* Don\u0027t conditionalize warning messages with ata_msg_probe().  Print\n  directly with KERN_WARNING.\n\n* Drop duplicate debug messages.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4700c4bc9262a9e78f7197c4c41cc2be085d5276",
      "tree": "2156bedcbcfdee5d22dfb0a43f71bd4813933b7e",
      "parents": [
        "fafbae87db88a73b166d3bc3294d209207f27056"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:16 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jul 09 12:17:31 2007 -0400"
      },
      "message": "libata-acpi: clean up ata_acpi_exec_tfs()\n\nThis patch cleans up ata_acpi_exec_tfs() and its friends.\n\n* Rename taskfile_array to ata_acpi_gtf and make it __packed as it\u0027s\n  used as argument to ACPI method, and use pointer to ata_acpi_gtf and\n  number of taskfiles to represent _GTF taskfiles instead of a pointer\n  casted into unsigned long and byte count.  This makes argument\n  re-checking in do_drive_set_taskfiles() unnecessary.\n\n* Pointer in void * not in unsigned long.\n\n* Clean up do_drive_get_GTF() error handling and make\n  do_drive_get_GTF() return number of taskfiles on success, 0 if _GTF\n  doesn\u0027t exist or doesn\u0027t contain valid ata.  -errno on other errors.\n\n* Remove superflous check for acpi-\u003ebuffer.pointer.\n\n* Update taskfile_load_raw() such that printed messages look similar\n  to the messages printed by ata_eh_report().\n\n* s/do_drive_get_GTF/ata_dev_get_GTF/\n  s/do_drive_set_taskfiles/ata_dev_set_taskfiles/\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fafbae87db88a73b166d3bc3294d209207f27056",
      "tree": "158217a52a396b2be110688f23eacbe25cf1c2d7",
      "parents": [
        "7dcca30a32aadb0520417521b0c44f42d09fe05c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:16 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jul 09 12:17:31 2007 -0400"
      },
      "message": "libata-acpi: implement ata_acpi_associate()\n\n* Add acpi_handle to ata_host and ata_port.  Rename\n  ata_device-\u003eobj_handle to -\u003eacpi_handle and move it above such that\n  it doesn\u0027t get cleared on reconfiguration.\n\n* Replace ACPI node association which ata_acpi_associate() which is\n  called once during host initialization.  Unlike the previous\n  implementation, ata_acpi_associate() uses ATA_FLAG_ACPI_SATA to\n  choose between IDE or SATA ACPI hierarchy and uses simple child look\n  up instead of recursive walk to match the nodes.  This is way safer\n  and simpler.  Please read the following message for more info.\n\n  http://article.gmane.org/gmane.linux.ide/17554\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3cadbcc09891b8544203f211dac13f9cc4e6832a",
      "tree": "ac85dba0648f6e2be0d057b9afca926d97e24828",
      "parents": [
        "6ddcd3b0201a7ad72294347636d2b4028ddbd95d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 03:28:15 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata-acpi: add ATA_FLAG_ACPI_SATA port flag\n\nWhether a controller needs IDE or SATA ACPI hierarchy is determined by\nthe programming interface of the controller not by whether the\ncontroller is SATA or PATA, or it supports slave device or not.  This\npatch adds ATA_FLAG_ACPI_SATA port flags which tells libata-acpi that\nthe port needs SATA ACPI nodes, and sets the flag for ahci and\nsata_sil24.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3a32a8e96694a243ec7e7feb6d76dfc4b1fe90c1",
      "tree": "c7e326d85996b196770e5bef4d7fd005380b09a0",
      "parents": [
        "e92351bb53c0849fabfa80be53cbf3b0aa166e54"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat May 05 23:50:38 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:12:42 2007 -0400"
      },
      "message": "libata-acpi: clean up parameters and misc stuff\n\nThis patch cleans up libata-acpi such that it looks similar to other\nlibata files.  This patch doesn\u0027t introuce any behavior changes.\n\n* make libata-acpi functions take ata_device instead of ata_port +\n  device index\n* s/atadev/dev/\n* de-indent local variable declarations\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "48be6b18336567a795bc41e4526f9adfb3a3d68e",
      "tree": "41bca21966fe455b96bf4f1cbbe888608fa21d55",
      "parents": [
        "3cb7396b7b26585b1ab7c1a8ca554ec103da5d37"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Apr 23 02:06:46 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 09 20:15:46 2007 -0400"
      },
      "message": "libata-acpi: fix _GTF command protocol for ATAPI devices\n\n_GTF command is never ATA_PROT_ATAPI_NODATA whether the device is\nATAPI or not.  It\u0027s always ATA_PROT_NODATA.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d7d0dad62a641c156386288a747c1a2f6bb2e42d",
      "tree": "b95bd786ae78c199892791bff1d2c583475e2239",
      "parents": [
        "28defbea64622f69d65a6079bf800cedb9915a5f"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 28 01:57:37 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 28 01:57:37 2007 -0400"
      },
      "message": "[libata] Disable ACPI by default; fix namespace problems\n\nNot yet ready to turn on ATA ACPI by default, for either PATA or SATA.\n\nAlso, rename the global-scope module parameter variable \u0027noacpi\u0027 to\nsomething more libata-specific, reducing the potential for namespace\ncollision.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b2526300ab242dc31f9006dbf9a4de40797571bc",
      "tree": "a22ef59b3eeb7de805b0a4c5af8c89677b8c604c",
      "parents": [
        "cb2ebc59ff52cee770cfd6ba5f23a6cc3c214648",
        "df33c77e3981e71afc8727ee5c432ba1a1bba68c"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 09 23:18:53 2007 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 09 23:18:53 2007 -0500"
      },
      "message": "Pull bugzilla-7907 into release branch\n"
    },
    {
      "commit": "df33c77e3981e71afc8727ee5c432ba1a1bba68c",
      "tree": "414f7c4392a14b70f114c2d10dcd6f1477dd61a0",
      "parents": [
        "908e0a8a265fe8057604a9a30aec3f0be7bb5ebb"
      ],
      "author": {
        "name": "Kristen Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Fri Mar 09 18:15:33 2007 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 09 18:15:33 2007 -0500"
      },
      "message": "libata-acpi: allow _GTF on SATA, but disable on PATA for now\n\nThe ACPI specification states, and BIOS implementations depend on,\n_STM being called before _GTF.\n\nSATA does this, but PATA does not.  So for now, simply\nprevent execution of _GTF on PATA devices.  Longer term we\nshould implement ACPI support for PATA devices in libata.\n\nSigned-off-by: Kristen Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "ca4266359d0c1199af088447f209ab5bcc32a989",
      "tree": "36aebe45c36f23d3cc257d3f76193467e02a6f45",
      "parents": [
        "908e0a8a265fe8057604a9a30aec3f0be7bb5ebb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Mar 08 23:13:50 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 08 14:19:13 2007 -0800"
      },
      "message": "[PATCH] libata-acpi: Try and stop all the non PCI devices crashing\n\nFor 2.6.20 it mostly used to just not work, for 2.6.21-rc it crashes, this\nseems to be down to luck (bad or good). The libata-acpi code needs to\navoid doing PCI work on non-PCI devices. This is one hack although it\u0027s\nnot pretty and perhaps there is a \"right\" way to check if a struct device\n* is PCI ?\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc16c25ff431d0c5b12693108f0ec3809ef1e804",
      "tree": "52258926569a84738effdeb5dedd1852cb72f25b",
      "parents": [
        "ea34e45a4670c4fa0da3442fc74789fd66c1201b"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Feb 24 21:05:01 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Feb 24 21:05:01 2007 -0500"
      },
      "message": "[libata] ACPI: remove needless -\u003eqc_issue hook existence test\n\nAll drivers must implement this hook, otherwise ATA commands would go\nnowhere (and a lot of other oopsen would appear as well).\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "878d4fedab4e5eba59877b771622856495a92df4",
      "tree": "51d17e7d2e81b3a979823009f390c7bfcfcd3801",
      "parents": [
        "a2bbd0c923708a23c6fcc6bbc492f2eecadc676f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Feb 21 16:36:33 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 23 05:37:11 2007 -0500"
      },
      "message": "libata: fix remaining ap-\u003eid\n\nMerge order left libata-acpi and pata_scc with remainling usage of\nap-\u003eid.  Kill superflous id printing and substitute the remaining ones\nwith ap-\u003eprint_id.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9de1cc9c446d39546a3d9dd6f7d99a980a7ecc22",
      "tree": "04ef6996082fe234643f483c61d552b5fc56d159",
      "parents": [
        "08573a86c8da1379b4f341ab4781bb7c8685d5b6"
      ],
      "author": {
        "name": "Fiodor Suietov",
        "email": "fiodor.f.suietov@intel.com",
        "time": "Tue Dec 19 12:33:20 2006 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 16 13:32:41 2007 -0500"
      },
      "message": "[PATCH] libata: wrong sizeof for BUFFER\n\nI have reproduced the AE_AML_BUFFER_LIMIT exception mentioned in\n\u003chttp://bugzilla.kernel.org/show_bug.cgi?id\u003d7689\u003e basing on the SSDT ASL\ncode and libata ata_acpi_push_id() code.  There is an oversight in\nata_acpi_push_id() causing the exception.  The following update fixes it:\n\nSigned-off-by: Fiodor Suietov \u003cfiodor.f.suietov@intel.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7ea1fbc2a2449bc034a3d255f36f2e5486d52fe8",
      "tree": "efa06ba55094924f27e7598b393a46b8c2753ec0",
      "parents": [
        "11ef697b37e3c85ce1ac21f7711babf1f5b12784"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Thu Sep 28 11:29:12 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 16 13:32:41 2007 -0500"
      },
      "message": "[PATCH] libata: ACPI _SDD support\n\n_SDD (Set Device Data) is an ACPI method that is used to tell the\nfirmware what the identify data is of the device that is attached to\nthe port.  It is an optional method, and it\u0027s ok for it to be missing.\nBecause of this, we always return success from the routine that calls\nthis method, even if the execution fails.\n\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n(cherry picked from 39aa79e0a1f5f2e28aa341f035940746a98b45b1 commit)\n"
    },
    {
      "commit": "11ef697b37e3c85ce1ac21f7711babf1f5b12784",
      "tree": "7b118d54bc8fc24ca8cbc626d603013d07ed8c2a",
      "parents": [
        "8a03d9a498eaf02c8a118752050a5154852c13bf"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Thu Sep 28 11:29:01 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 16 13:32:41 2007 -0500"
      },
      "message": "[PATCH] libata: ACPI and _GTF support\n\n_GTF is an acpi method that is used to reinitialize the drive.  It returns\na task file containing ata commands that are sent back to the drive to restore\nit to boot up defaults.\n\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n(cherry picked from 9c69cab24b51a89664f4c0dfaf8a436d32117624 commit)\n"
    }
  ]
}
