)]}'
{
  "log": [
    {
      "commit": "02cdfcf043c5c6ebcbbaba1c35130b5fbcb10867",
      "tree": "1430ddb5236adbcc1fbfaa67b225efd0dbe3e80c",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "David Milburn",
        "email": "dmilburn@redhat.com",
        "time": "Fri Nov 12 15:38:21 2010 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Jan 05 19:43:22 2011 -0500"
      },
      "message": "[libata] new driver acard_ahci, for ATP8620 host controller\n\nAdd support for Acard ATP8620 host controller.\n\nBased upon initial version by Jeff Garzik.\n\nSigned-off-by: David Milburn \u003cdmilburn@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6ad601955315b010a117306b994f2204fae85fdc",
      "tree": "d10eadcbb064c463a413823b9cccd018ae1a94e8",
      "parents": [
        "f7a437dda2b5c104a897405cbff678aa1eb37897"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Oct 15 11:00:08 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Oct 21 21:17:00 2010 -0400"
      },
      "message": "libahci: fix result_tf handling after an ATA PIO data-in command\n\nATA devices don\u0027t send D2H Reg FIS after an successful ATA PIO data-in\ncommand.  The host is supposed to take the TF and E_Status of the\npreceding PIO Setup FIS.  Update ahci_qc_fill_rtf() such that it takes\nTF + E_Status from PIO Setup FIS after a successful ATA PIO data-in\ncommand.\n\nWithout this patch, result_tf for such a command is filled with the\ncontent of the previous D2H Reg FIS which belongs to a previous\ncommand, which can make the command incorrectly seen as failed.\n\n* Patch updated to grab the whole TF + E_Status from PIO Setup FIS\n  instead of just E_Status as suggested by Robert Hancock.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Mark Lord \u003ckernel@teksavvy.com\u003e\nCc: Robert Hancock \u003chancockrwd@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "97750cebb3000a9cc08f8ce8dc8c7143be7d7201",
      "tree": "04220b8a8ed3f353e3e0023805b32e7d746dc6f3",
      "parents": [
        "a97c40068fab5d85c4241451fc312cb9025d7e6c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 06 17:56:29 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Oct 21 20:21:05 2010 -0400"
      },
      "message": "libata: add @ap to ata_wait_register() and introduce ata_msleep()\n\nAdd optional @ap argument to ata_wait_register() and replace msleep()\ncalls with ata_msleep() which take optional @ap in addition to the\nduration.  These will be used to implement EH exclusion.\n\nThis patch doesn\u0027t cause any behavior difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6b7ae9545ad9875a289f4191c0216b473e313cb9",
      "tree": "216b4db276202d727ba134d256144a6670497180",
      "parents": [
        "1152b2617a6e1943b6b82e07c962950e56f1000c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 01 17:50:06 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Oct 21 20:21:04 2010 -0400"
      },
      "message": "libata: reimplement link power management\n\nThe current LPM implementation has the following issues.\n\n* Operation order isn\u0027t well thought-out.  e.g. HIPM should be\n  configured after IPM in SControl is properly configured.  Not the\n  other way around.\n\n* Suspend/resume paths call ata_lpm_enable/disable() which must only\n  be called from EH context directly.  Also, ata_lpm_enable/disable()\n  were called whether LPM was in use or not.\n\n* Implementation is per-port when it should be per-link.  As a result,\n  it can\u0027t be used for controllers with slave links or PMP.\n\n* LPM state isn\u0027t managed consistently.  After a link reset for\n  whatever reason including suspend/resume the actual LPM state would\n  be reset leaving ap-\u003elpm_policy inconsistent.\n\n* Generic/driver-specific logic boundary isn\u0027t clear.  Currently,\n  libahci has to mangle stuff which libata EH proper should be\n  handling.  This makes the implementation unnecessarily complex and\n  fragile.\n\n* Tied to ALPM.  Doesn\u0027t consider DIPM only cases and doesn\u0027t check\n  whether the device allows HIPM.\n\n* Error handling isn\u0027t implemented.\n\nGiven the extent of mismatch with the rest of libata, I don\u0027t think\ntrying to fix it piecewise makes much sense.  This patch reimplements\nLPM support.\n\n* The new implementation is per-link.  The target policy is still\n  port-wide (ap-\u003etarget_lpm_policy) but all the mechanisms and states\n  are per-link and integrate well with the rest of link abstraction\n  and can work with slave and PMP links.\n\n* Core EH has proper control of LPM state.  LPM state is reconfigured\n  when and only when reconfiguration is necessary.  It makes sure that\n  LPM state is reset when probing for new device on the link.\n  Controller agnostic logic is now implemented in libata EH proper and\n  driver implementation only has to deal with controller specifics.\n\n* Proper error handling.  LPM config failure is attributed to the\n  device on the link and LPM is disabled for the link if it fails\n  repeatedly.\n\n* ops-\u003eenable/disable_pm() are replaced with single ops-\u003eset_lpm()\n  which takes @policy and @hints.  This simplifies driver specific\n  implementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c93b263e0d4fa8ce5fec0142a98196d1a127e845",
      "tree": "6495053b65f7a79d1e5c11aaea77dd25e4082a84",
      "parents": [
        "c43d559f0423816bb2918d892131d21c51816c3d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Sep 01 17:50:04 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Oct 21 20:21:04 2010 -0400"
      },
      "message": "libata: clean up lpm related symbols and sysfs show/store functions\n\nLink power management related symbols are in confusing state w/ mixed\nusages of lpm, ipm and pm.  This patch cleans up lpm related symbols\nand sysfs show/store functions as follows.\n\n* lpm states - NOT_AVAILABLE, MIN_POWER, MAX_PERFORMANCE and\n  MEDIUM_POWER are renamed to ATA_LPM_UNKNOWN and\n  ATA_LPM_{MIN|MAX|MED}_POWER.\n\n* Pre/postfixes are unified to lpm.\n\n* sysfs show/store functions for link_power_management_policy were\n  curiously named get/put and unnecessarily complex.  Renamed to\n  show/store and simplified.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "fad16e7a7f67eef8d33f8ad58850db89382b09ce",
      "tree": "09afb3e939cd4cc85e6aec76965c16fcc03c5798",
      "parents": [
        "050026feae5bd4fe2db4096b63b15abce7c47faa"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Sep 21 09:25:48 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Sep 28 15:14:51 2010 -0400"
      },
      "message": "ahci: fix module refcount breakage introduced by libahci split\n\nlibata depends on scsi_host_template for module reference counting and\nsht\u0027s should be owned by each low level driver.  During libahci split,\nthe sht was left with libahci.ko leaving the actual low level drivers\nnot reference counted.  This made ahci and ahci_platform always\nunloadable even while they\u0027re being actively used.\n\nFix it by defining AHCI_SHT() macro in ahci.h and defining a sht for\neach low level ahci driver.\n\nstable: only applicable to 2.6.35.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Pedro Francisco \u003cpedrogfrancisco@gmail.com\u003e\nTested-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: stable@kernel.org\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f1f5a807b051eddd3f302e503d39214e5bde0ef2",
      "tree": "e953579992d5127dda716c84d64d8d2a733d9b33",
      "parents": [
        "673424c0890a00e22398017c9adf999577526220"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 27 11:09:15 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Sep 09 14:19:18 2010 -0400"
      },
      "message": "ahci: fix hang on failed softreset\n\nahci_do_softreset() compared the current time and deadline in reverse\nwhen calculating timeout for SRST issue.  The result is that if\n@deadline is in future, SRST is issued with 0 timeout, which hasn\u0027t\ncaused any problem because it later waits for DRDY with the correct\ntimeout.  If deadline is already exceeded by the time SRST is about to\nbe issued, the timeout calculation underflows and if the device\ndoesn\u0027t respond, timeout doesn\u0027t trigger for a _very_ long time.\n\nReverse the incorrect comparison order.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Anssi Hannula \u003canssi.hannula@iki.fi\u003e\nTested-by: Gwendal Grignou \u003cgwendal@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "5f173107ecad83a50fc297f5a99bcda961501fc9",
      "tree": "02b2ef16c50af54dcffd009233a8cd9767115e2e",
      "parents": [
        "6d981b9a91be29c0deae5ac794a4fe885027032f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat Jul 24 16:53:48 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Aug 25 19:24:16 2010 -0400"
      },
      "message": "ahci: add HFLAG_YES_FBS and apply it to 88SE9128\n\n88SE9128 can do FBS and sets it in HOST_CAP but forgets to set FBSCP\nin PORT_CMD.  Implement AHCI_HFLAG_YES_FBS and apply it to 88SE9128.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f9ce889b8f8384ee29e1be4b34091a932e6e40f3",
      "tree": "ed9b189cf639e2dcfa144cd840c0e0efa55f838a",
      "parents": [
        "984bc9601f64fd341b8573021d7c999f1f1499a9"
      ],
      "author": {
        "name": "Harry Zhang",
        "email": "harry.zhang@amd.com",
        "time": "Thu Jun 24 11:34:23 2010 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Jul 01 15:34:15 2010 -0400"
      },
      "message": "libahci: Fix bug in storing EM messages\n\nIn function ahci_store_em_buffer(), if the input (signed char*) buffer\ncontains negative data, the constructed 32-bit long message data may\nbe wrong.\n\nSigned-off-by: Harry Zhang \u003charry.zhang@amd.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0ee719527229fa86ace8e3abccae3c2a8bbfd6db",
      "tree": "7c9e76554f55af8101f38b8e3338529b66b4d275",
      "parents": [
        "7a4f876b876afb13856a79a0402f71b9dfbe86a8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Jun 07 15:15:08 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Jun 07 16:03:15 2010 -0400"
      },
      "message": "ahci: redo stopping DMA engines on empty ports\n\nCommit 96d60303fd (ahci: Turn off DMA engines when there\u0027s no device)\nimplemented stopping DMA engines on empty ports but it used single\nsampling of status registers to determine device presence which led to\ndisabling of DMA engines on occupied ports.  Do it after all EH\nactions are complete using device presence state determined by EH.\nThis avoids spurious disabling of DMA engines and simplifies the code.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nTested-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Robert Hancock \u003chancockrwd@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c06231661e4fb5f2f50c73ff33702937a11764cf",
      "tree": "e82300639ad09429fb3a6881bb6985363dd9ddbe",
      "parents": [
        "008dbd61ebee3e647f63bbe8315192e1331cd75f"
      ],
      "author": {
        "name": "Harry Zhang",
        "email": "harry.zhang@amd.com",
        "time": "Fri Apr 23 17:28:38 2010 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:35:51 2010 -0400"
      },
      "message": "ahci: add \"em_buffer\" attribute for AHCI hosts\n\nAdd \"em_buffer\" attribute for SATA AHCI hosts to provide a way for\nuserland to access AHCI EM (enclosure management) buffer directly if the\nhost supports EM.\n\nAHCI driver should support SGPIO EM messages. However the SATA/AHCI\nspecs did not define the SGPIO message format filled in EM buffer.\nDifferent HW vendors may have different definitions. The mainly purpose\nof this attribute is to solve this issue by allowing HW vendors to\nprovide userland drivers and tools for their SGPIO initiators.\n\nSigned-off-by: Harry Zhang \u003charry.zhang@amd.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "008dbd61ebee3e647f63bbe8315192e1331cd75f",
      "tree": "2848b7364622cceb29b596c95c7c2681a40adcfc",
      "parents": [
        "ec86c81dfcc52e313920621b1d1e92343a842afe"
      ],
      "author": {
        "name": "Harry Zhang",
        "email": "harry.zhang@amd.com",
        "time": "Fri Apr 23 17:27:19 2010 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:35:51 2010 -0400"
      },
      "message": "ahci: EM message type auto detect\n\nDetect enclosure management message type automatically at driver\ninitialization, instead of using module parameter \"ahci_em_messages\".\n\nSigned-off-by: Harry Zhang \u003charry.zhang@amd.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "fbaf666b854c04b2d8ebca17114ee409ddea08b5",
      "tree": "8e4db33f928eb3554b1539d9745fedb01391df6a",
      "parents": [
        "83f2b9630c5875ee872c11d98a0e26888514c1b3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 02:52:43 2010 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:02 2010 -0400"
      },
      "message": "libata: update gfp/slab.h includes\n\nImplicit slab.h inclusion via percpu.h is about to go away.  Make sure\ngfp.h or slab.h is included as necessary.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "96d60303fd3336893a93565d58c4f1805a327061",
      "tree": "e6534dabeceb4a0a0b511c17dbffe47639fff0ac",
      "parents": [
        "1c2a49f61785ebbcbfb481a2aab659020f0457f7"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Sun Mar 28 00:37:21 2010 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Turn off DMA engines when there\u0027s no device attached\n\nAccording to section 10.3.1 of the AHCI spec, PxCMD.ST must not be set\nunless there\u0027s a device attached. Following this saves us a measurable\nquantity of power and does not impair hotplug support. Based on a patch\nby Kristen Carlson Accardi.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "365cfa1ed5a36f9bcb9f64c9f0f52155af2e9fef",
      "tree": "dcafbc73e4232ac9cfd65d25c2c7da8fa5390976",
      "parents": [
        "0cbb0e774b0ea0547ec1b9e795637e309327ae27"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Sun Mar 28 00:22:14 2010 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri May 14 17:08:01 2010 -0400"
      },
      "message": "ahci: Move generic code into libahci\n\nThis patch should contain no functional changes, just moves code\naround.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    }
  ]
}
