)]}'
{
  "log": [
    {
      "commit": "94fb916ea6ab1e6ae901e5ab264d4e1e8e8b5f2b",
      "tree": "e0d6052ceefda16e21c60af73c707fbcb41e4b1e",
      "parents": [
        "f80c3e4e103dcd717825158d274ffcbae648ff0b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri May 10 13:44:11 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:34:01 2019 +0000"
      },
      "message": "dp training: Write correct training data when switching patterns\n\nApparently this was wrong all the time. When switching the training\npattern, i.e. writes to DPCD+0x102, we also have to write the current\nsignal levels to subsequent offsets. We always wrote 0s in this case,\neven if we already negotiated higher values during the clock-recovery\nphase. Obviously, this results in havoc if the sink takes the 0s\nserious.\n\nTEST\u003dRun a few hundred training rounds with a Terra 2462W display.\n     This display almost always requested an increase of the voltage\n     swing to level 1. Trainings where it recovered the clock with\n     level 0 always succeeded, while trainings with level 1 almost\n     always lost synchronization at the start of channel equalization.\n     With the patch applied, all trainings succeeded.\n\nChange-Id: I6ae2f9aaec0b042e8dee6e8b0099ea62c82f611b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32732\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f80c3e4e103dcd717825158d274ffcbae648ff0b",
      "tree": "04181d6ef7425402569b5509bc1b6ebb4d48a0bb",
      "parents": [
        "68f439d4f17a366978ba83c21567d60fdb8df045"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri May 10 13:44:02 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:33:19 2019 +0000"
      },
      "message": "dp training: Always end with normal output\n\nThe DP spec mandates that we return to normal output when we abandon\na failed training, before we disable the output. However, the sequence\nsuggested by Intel always disables the output, even if we try another\ntime or another frequency. So we also always return to normal frame\ndelivery.\n\nOn Ivy Bridge, failure to return to normal output resulted in inability\nto disable the display pipe and to restart the training. Thus, after a\nfailed training, further attempts were futile.\n\nChange-Id: Ie1f19f2e1d1af62b402ad1dc41373d3d4437e976\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32731\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "234e772f4266412a56266067a40163f4dea7a2db",
      "tree": "699aec386779844cabb738ebfd454018ee4c84c6",
      "parents": [
        "41b18ca031721c28737a1ffaf0cababb0663446a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 27 02:07:31 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 22:09:18 2017 +0000"
      },
      "message": "dp training: Allow to adjust pre-emphasis during clock recovery\n\nThat\u0027s not demanded by the spec but there are sinks in the wild that\nneed it.\n\nChange-Id: Ibef5236ca771e0e02beb4e76650ffb6974657846\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21216\nReviewed-by: Felix Held \u003cfelix-coreboot@felixheld.de\u003e\n"
    },
    {
      "commit": "41b18ca031721c28737a1ffaf0cababb0663446a",
      "tree": "4abad53b278e823c558a5b81c7c717ce08aeb6ad",
      "parents": [
        "1bc496fc832cde66cad36d299cb4f193775a26a4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 27 02:03:04 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 22:09:04 2017 +0000"
      },
      "message": "dp training: Fix channel equalization phase\n\nFirst, allow updates to voltage swing too during channel equalization.\nSpec just says to adjust the settings as requested.\n\nSecond, the loop conditions differ from the clock recovery phase. We\nhave only 6 tries in total but no particular order is enforced.\n\nChange-Id: I4673390d8c0f9a5642702872e5b4ab11f54797c7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21215\nReviewed-by: Felix Held \u003cfelix-coreboot@felixheld.de\u003e\n"
    },
    {
      "commit": "125a29e84242900a5556e8a068227e59420c3e1c",
      "tree": "925c85a1e9a5dc0506c9ccd26cd8ba4e05dd3d33",
      "parents": [
        "be4eaddc67ee3a11b1222db049cd8830491363d9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Oct 18 00:23:54 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 20 13:05:15 2016 +0200"
      },
      "message": "Relicense libgfxinit under GPL v2+\n\nChange-Id: I5d683dda83d23e89955a4d840b5570bd8642834a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17052\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "83693c8d7d87f5cebe120abdf25951c9e212b319",
      "tree": "249eff589087c2ed8deeeeda1710ff49a3c3c810",
      "parents": [],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Sat Oct 08 22:17:55 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 09 11:34:25 2016 +0200"
      },
      "message": "Initial upstream commit\n\nThe history contained unlicensed code so everything got squashed, sorry.\n\nChange-Id: I9f5775208f9df6fb29074bf3bc498f68cb17b3a0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n"
    }
  ]
}
