)]}'
{
  "log": [
    {
      "commit": "5dbaf4bb1d30b27f5b8988a28820beda48f3a46c",
      "tree": "11b5b8a98dec8d5e8fe11c9668e524fef5b6e578",
      "parents": [
        "1f63d51dc055276fa1a0f3552bf1bfc1a07ad8bb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 08 17:24:58 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:15:41 2020 +0000"
      },
      "message": "gma bxt panel: Allow to use secondary panel control logic\n\nBroxton has control logic for two panels. Reflect that.\n\nFlow analysis fails if we initialize globals in Setup_PP_Sequencer.\nHence, move the call to Static_Init out.\n\nChange-Id: Ie84d21a07a0f064f993a54b277e051b8d1ca541c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38276\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "1f63d51dc055276fa1a0f3552bf1bfc1a07ad8bb",
      "tree": "c6f5fae817de7237be518d96cde8705cd13da74d",
      "parents": [
        "3ea5d605ba64a8a204dd78814f3ea1598e4b7d6f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 08 14:10:40 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:36 2020 +0000"
      },
      "message": "gma bxt panel: Correct panel backlight handling\n\nChange-Id: Icfad261fb4d5ff478974948c0148880c5b8cb40c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38265\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "3ea5d605ba64a8a204dd78814f3ea1598e4b7d6f",
      "tree": "830bc463748887ce1135b92cd798a3f6ec507e38",
      "parents": [
        "7050d2d8a4fb3c8b36fa1ba1ed87da34f869ad35"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 06 17:57:59 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:30 2020 +0000"
      },
      "message": "gma bxt panel: Correct power-cycle delay programming\n\nChange-Id: Iff53ef5730691c3be1ebcda71428e2bfe9ae16fd\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38264\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "2bbd6e7c6044d7c3fb5607834d00e4e7d83a2ada",
      "tree": "9d39e3333feda6885ff63692c935e4ac114fb3a3",
      "parents": [
        "8a6e7bd43caef134bcb9616da9be3b4344850123"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 18:22:59 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:18 2020 +0000"
      },
      "message": "gma panel: Introduce `Panel_Control` type\n\nFor now, `Panel_Control` only distinguishes `Panel_1` from `No_Panel`,\ni.e. if a port has a panel attached or not. To ease future addition of\nsupport for more than one panel, we already add loops and arrays around\nit, though.\n\nWith the information, if a port has a panel attached, in `Port_Config`,\nwe can pass that on into Panel.* procedures and let those decide what\nto do (e.g. do nothing if no panel is attached).\n\nChange-Id: I83864bc86b48f65d9ba43e083b805ca09497cbb0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38243\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "8a6e7bd43caef134bcb9616da9be3b4344850123",
      "tree": "e4ea68ea709dcdbbf09de27177b4e4a639ce4fab",
      "parents": [
        "8beafd74958561988d29ba0897e057d4f3204a27"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 16:36:38 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:11 2020 +0000"
      },
      "message": "gma panel config: Turn `internal display type` into a `panel port`\n\nInstead of querying for the type of the internal display (LVDS vs. DP),\nmake it a choice of the port that has a panel hooked up. As some plat-\nforms actually have support for two panels, we prepare for that by\nnaming it `Panel_1_Port`.\n\nWe still need to call into the panel logic, when the respective port\nis enabled. This will be done in the next commit.\n\nChange-Id: Id3c78441857d07fb34274b9abd3ae6ea42909ff6\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38242\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "8beafd74958561988d29ba0897e057d4f3204a27",
      "tree": "1676c1e615c4714b9c2394ffd8bf1260ed73b7da",
      "parents": [
        "fe7985f2a0692bc773d470a92ec54d22d3c12e4b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 14:59:44 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:05 2020 +0000"
      },
      "message": "gma: Split `Internal` port type into `eDP` \u0026 `LVDS`\n\nWe used to have a single type `Internal`, in the GMA interface, to\nrepresent the port for any internal panel. This seemed suitable as\nall mainboard targets used the additional panel logic (power se-\nquencing, backlight) only with either one of the eDP and LVDS ports.\n\nHowever, the hardware allows to combine the panel logic also with\nother ports. And some of the regular DP ports are even mentioned as\nalternatives to the dedicated eDP port.\n\nAs a first step towards supporting such less common combinations,\nwe get rid of the single `Internal` type. All the panel logic still\nassumes that either the dedicated eDP or the LVDS port is used for\nan internal display. We introduce `Internal_Port_Type` to represent\neDP and LVDS, for this. But it should vanish, once the panel logic\nis adapted.\n\nChange-Id: Iadf3c11bd35d085cf47a961e800b0d96b79f62f5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38239\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d0f84b9acd65e047876c36b4571f1e4da17c4b23",
      "tree": "2a318a99cb2e0c7ba2b5021ac9f045c38347adb8",
      "parents": [
        "1eb5faa2eeca93b911af51bdbea854d286bfab81"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 22 21:31:52 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:27:46 2019 +0000"
      },
      "message": "gma hsw: Implement CDClk switching\n\nFor Haswell, we only read out the current CDClk setting and work with\nthat (CDClk is supposed to be set only once per boot, so we leave that\nto the firmware). Broadwell supports actual frequency switching, with\nthe following limits:\n\n  o a fuse may restrict us to 450MHz,\n  o ULX supports at most 450MHz w/o additional cooling,\n  o ULT supports at most 540MHz w/o additional cooling,\n  o others support up to 675MHz.\n\nWe assume there is no `additional cooling`. With the CDClk now being\nswitchable, we have to update `DP_Aux_Request` to assume the current\nCDClk frequency instead of the default.\n\nDot clocks, on these platforms, may run with full CDClk speed.\n\nChange-Id: I8fb23a49b334f9f0045884c3af4087764397b941\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35717\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b47a5c479358a4cecf2589295b37954edd1e36e5",
      "tree": "8a84cb4ae9f3f8384e233c61eeb1de6c32b3d423",
      "parents": [
        "07ff1b95bb1db12cc3d01e3f542338d25eb2dbf3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 00:07:21 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:19:16 2019 +0000"
      },
      "message": "gma g45: Read CDClk and calculate dot-clock limits\n\nNumbers are taken from `intel_cdclk.c` of Linux\u0027 i915 driver.\n\nWe introduce three new procedures to the `Power_And_Clocks` interface:\n\n  o Limit_Dotclocks() limits the dot clocks of all pipe configs\n    according to the maximum supported CDClk. It also reports if\n    CDClk has to be switched for these configs.\n\n  o Update_CDClk() performs the CDClk switch if necessary. It may\n    further limit the dot clocks if the switch didn\u0027t succeed.\n\n  o Enable_CDClk() ensures that the CDClk is running. This may be\n    necessary to probe for DP displays when no pipes are active.\n\nThe latter two are no-ops for G45, as the CDClk runs at a fixed rate.\nDot clocks are limited to 90% of CDClk.\n\nChange-Id: Ie50c0f8f51b3a0a6ed58c6461069c556cc92f51e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35715\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "07ff1b95bb1db12cc3d01e3f542338d25eb2dbf3",
      "tree": "5b4f0b23b6ba2ec06a9fef1fa333ce3f0ba4e392",
      "parents": [
        "3d3452f167b4e1e9ec3c438dfb8ff5a480e9d92c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 00:03:17 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:16:34 2019 +0000"
      },
      "message": "gma config: Allow to cache CDClk in variable config state\n\nAdd `CDClk` and `Max_CDClk` fields to the variable config state.\nThey will be used to cache the current hardware state, so that\nwe don\u0027t have to poke registers in every call to Update_Outputs().\n\nAlso introduce `CDClk_Range`, which is chosen such that common\ndot-clock limits (90% of CDClk) are in range of `Frequency_Type`.\n\nChange-Id: I3d9c956eabcedb2f8299a1642ff0172cd7f54e45\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35714\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "530651bfb439d37abb0f07593d7ab604f2419a18",
      "tree": "8b53fa82b50c159ec0be3916cc119b5de45113a0",
      "parents": [
        "a4e7f25c408902677824f5edc3f6ad1e760241a3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 03 14:59:38 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 05 23:25:47 2019 +0000"
      },
      "message": "gma g45 config: Limit HDMI rate to 165MHz\n\nTests with a 3440x1440 pixel display have shown that the dot clock\nwas chosen much too high (we got either 720x1440 at half the rate\nor a completely garbled picture). Turns out, Linux\u0027 i915 limits the\nclock to the original DVI\u0027s 165MHz for 4th gen and earlier, so we\u0027ll\ndo that too. This resulted in a stable picture with 3440x1440 @ 31Hz\n(the display even synchronized better on this than the configuration\nchosen by i915).\n\nChange-Id: I30cb67feedd776148457101d1ca3e3b8538e672f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35779\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "e317e9c31cef31f960a5cfb3e3247047d39ae7a1",
      "tree": "e995dd0feb54d1897d5e02b068d0838deb1ee493",
      "parents": [
        "c5c66ecf12c51600a20aac257394fd7f13d25113"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 03:03:18 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:18:44 2019 +0000"
      },
      "message": "gma: Merge `Config_State` into `State`\n\nTreating `Config_State` separately was merely cosmetic and caused\nlots of trouble. Its usage depends heavily on the selected plat-\nform. Hence, `Global` contracts were not stable across different\nconfigurations.\n\nLet\u0027s avoid the annotation mess that it brought us and merge it\ninto `State`.\n\nChange-Id: Ie28ccfc7ffbe08e0b3fe343d9e6df2420611834e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35713\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7f3e280f0233958f5c858e19a3b80c3fdd50a83f",
      "tree": "49d1db89829d320c80a45984edf7e8df1b9398cd",
      "parents": [
        "9a4c4c3024a20bfe134bf93ca04a3634848dbd39"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 20:40:55 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:15:54 2019 +0000"
      },
      "message": "gma: Give GM45 its own designation (separate from G45)\n\nWhile G45 and GM45 have mostly the same display engine (seem to\nonly differ in the available outputs), they are driven by very\ndifferent clock sources. To derive the corret CDClk in a later\ncommit, we\u0027ll have to distinguish between the two.\n\nChange-Id: I99bbd0582a03a9e2806ef2ebf63e466ec40133b3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35711\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "75a707f3ef80fb150fc0c3fdb69d7cb7c21480f6",
      "tree": "a7c6acef5bd209e8d94f43905df7ecb167ccca48",
      "parents": [
        "d8282b6330f053d298c6aec660ed95018dbfe31c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 16:28:33 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 02 10:09:31 2019 +0000"
      },
      "message": "gma pipe setup: Fix secondary pipe cursors \u003c\u003d Sandy Bridge\n\nThe secondary cursor registers used to have a different offset.\n\nChange-Id: I4d79f59a8cb693d73d6da666525f091021efb4fd\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27154\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "2c92794a5fa3c4b894c133e9b3e8bd3c8588f9a8",
      "tree": "f60e2be0539034f0988a378ff81c1ae93298450b",
      "parents": [
        "88badbe832a3279ec85b7859e3de132788c0962f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 17 19:07:31 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:31:11 2019 +0000"
      },
      "message": "gma: Add more PCI IDs for Coffee/Whiskey/Amber Lake\n\nThese seem to be 100% compatible to Kaby Lake w.r.t. modesetting. So\ntreat them as the latter for now.\n\nUntested. Didn\u0027t look at documented workarounds, yet.\n\nChange-Id: If01883ba95246f9bfd66049772597e0317e294d2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/31453\n"
    },
    {
      "commit": "88badbe832a3279ec85b7859e3de132788c0962f",
      "tree": "5f8c9029ee25857cdbac76906eb149f74de6c409",
      "parents": [
        "25fdb15cf0fa9ea6ae41cef497ba07c1783bc494"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Sep 27 16:36:47 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 15:32:16 2019 +0000"
      },
      "message": "gma: Add Kaby Lake support\n\nIncluding some weird Amber Lake Y parts that are treated like Kaby Lake\nin Linux\u0027 i915.\n\nOnly differences to Skylake in the DDI output buffer tuning.\n\nChange-Id: Ice05e07b016cebc7258a9790e38e079e63227a4b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/28763\nReviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "25fdb15cf0fa9ea6ae41cef497ba07c1783bc494",
      "tree": "0e4e7fab2b68b571d8e4004de94d1a5408a338ef",
      "parents": [
        "d49b56baf97136e1b65f032a985291bf40a73260"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 17 15:54:39 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 15:31:55 2019 +0000"
      },
      "message": "gma: Add support for ULX variants\n\nOn Haswell and Broadwell, the ULX variants differ only in the available\nCD clock frequencies and, on Haswell, the maximum DP link rate. On newer\ngenerations (Skylake+), they differ only in output buffer tuning.\n\nAlso update the PCI IDs from Haswell to Skylake.\n\nStill untested, which was the original reason to skip ULX.\n\nChange-Id: I08e6689ff8c0f2d58b51363886d4cab956f44e03\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/31452\nReviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "8a9062a0842c70920ac1c95ba48b7d4f2e1538f0",
      "tree": "bd53eb7165dfe93dda277722022efdd5fddf1418",
      "parents": [
        "6a996dc7bafc5a1b56c7cd9d1a00a6f8ef5617fd"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 17 23:15:52 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:21:37 2019 +0000"
      },
      "message": "gma config: Enable Restrictions (No_Elaboration_Code)\n\nForcing compile-time evaluation seems to be the right thing and works\nwell now. It also helps to compare binaries after refactorizations.\n\nChange-Id: I4eea973836a05eefcc2c98de75e6721ef3cd278b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27143\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6a996dc7bafc5a1b56c7cd9d1a00a6f8ef5617fd",
      "tree": "f32fea3ae624618c93ad7c1f428a96ff488c5322",
      "parents": [
        "adfe11fec3f2fcca99be6b43bf4d33eb4aaf99d7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 17 16:30:33 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:20:25 2019 +0000"
      },
      "message": "gma: Implement automatic CPU detection\n\nIn dynamic CPU configurations, Config.Detect_CPU() sets the CPU\nvariables according to the given PCI device id. In static confi-\ngurations it does nothing.\n\nWe update the default configs to make use of this feature where\napplicable. This should still give us full build-test coverage\nwhile cutting the amount of tests in half.\n\nChange-Id: I8ce31c867f97c8d6ef99ca096cb45f7719e78a19\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27138\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "adfe11fec3f2fcca99be6b43bf4d33eb4aaf99d7",
      "tree": "73275a1b5fe36a9a1a562c89dbf042c8e324a067",
      "parents": [
        "d9365613ea1dd31ae00bc69ebd2f7a508049b2c6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 14:59:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:16:10 2019 +0000"
      },
      "message": "gma config: Make Config.CPU and Config.CPU_Var variable\n\nIntroduce CONFIG_GFX_GMA_DYN_CPU that, if set to `y`, makes `Config.CPU`\nand `Config.CPU_Var` variables. All other config values derived from\nthese are turned into expression functions.\n\nChange-Id: If409b5afbd975f3a42e28ff191a092f89ece5ae2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27068\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "d9365613ea1dd31ae00bc69ebd2f7a508049b2c6",
      "tree": "d8cec2ad781f7531741d7a31a7272d558066e119",
      "parents": [
        "27088aad041b760f8b86e2c19a7a6304be43063c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 14:59:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:55:42 2019 +0000"
      },
      "message": "gma config: Tag constants depending on generation or CPU\n\nTag all derived config booleans that depend on the generation \u003cgenbool\u003e\nand those that may depend on the CPU with the generations where that is\nthe case. For instance `CPU_Ivybridge` can be decided purely based on\nthe generation unless the generation is Ironlake, thus, it is tagged\n\u003cilkbool\u003e. For non-boolean constants, per generation tags \u003c...var\u003e are\nintroduced (e.g. \u003cilkvar\u003e) with similar meaning. This will allow us to\nmake them variables later, based on the generation.\n\nTo ease later parsing, also move all multiline expressions after a\nline break.\n\nChange-Id: Iaa50987c51dc62ab2eb8b31e8f223b8a94e8ac12\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27067\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "27088aad041b760f8b86e2c19a7a6304be43063c",
      "tree": "4872922d77f18511d7533d2a52bb8918bc228654",
      "parents": [
        "30e8408399a1b24abe338a689bf7405b03ac03a1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 13:28:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:40:30 2019 +0000"
      },
      "message": "gma config: Initialize stateful configs late\n\nDefer initialization of config variables until GMA.Initialize().\n\nChange-Id: I9192c9a7c4d67e4af7f3e26659489f58998ae832\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27066\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "30e8408399a1b24abe338a689bf7405b03ac03a1",
      "tree": "6bee2f7b53ec000a643fc5bab14bc65cf3c3b3bc",
      "parents": [
        "86445f36097b75f3c1648868b72f9359937511d3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 13:28:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:37:29 2019 +0000"
      },
      "message": "gma config: Group mutable state into a record\n\nPut all state into a record, `Config.Variable`, so it can be referenced\nat once from other packages. This is required to add stateful variables\nto `Config` without changing the rest of the codebase.\n\nChange-Id: Iffc7984b61e57cda7bdaf3b915a4fc51b396423a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27065\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d7809abf1a65f6d0c5b404349b4d8302bf4391c1",
      "tree": "742f0499be0074a97a51adc27f78be9839337c91",
      "parents": [
        "998ee2b9af853a3b12c0880a519bf10887fd59f1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 15:44:23 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:53:35 2019 +0000"
      },
      "message": "gma config: Limit types of CPU and CPU_Var\n\nLimit the range of values for `CPU` and `CPU_Var` based on the\ngeneration.\n\nChange-Id: Ibeca7d0fb5cbc617a0819448e78d406793c6f866\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27061\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "998ee2b9af853a3b12c0880a519bf10887fd59f1",
      "tree": "3cd7a285acf0bcb17d3ac2eb7b6cec6e182ee4c5",
      "parents": [
        "6621a14e33fe864965ef524d4b301fdc62a2ad48"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 12 23:02:17 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:52:50 2019 +0000"
      },
      "message": "gma config: Introduce per CPU booleans\n\nThe per CPU booleans are additionally guarded by the respective\ngeneration so that the compiler may decide purely on the generation.\nAlso use the new booleans to get rid of all direct references to\n`Config.CPU` and `Config.CPU_Var`.\n\nChange-Id: I307d1dd56f480fdb4fbc6e2e25fc5f413c4158f8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27060\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6621a14e33fe864965ef524d4b301fdc62a2ad48",
      "tree": "b5dacff889bb81d21be04e1e0e55cf871b60c1dc",
      "parents": [
        "c76749db2b798a7f7fff9557ad53d97dc4f95225"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 07 23:56:54 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:40:39 2019 +0000"
      },
      "message": "gma: Introduce Generation type\n\nIt\u0027s the subset of `CPU_Type` that we have different compilation units\nfor. Also use it in the `Config` wherever we can decide something purely\non the `Generation` (i.e. don\u0027t mix `Gen` and `CPU` in expressions).\n\nChange-Id: I5061021a80cd75ee3d7996ca343e6388b22bf341\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27059\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "0b2329afa562657d351ef1f6864688c1a8560ce8",
      "tree": "5e5f21c2b541a3bde8a3ca54087bbf33bf23a1f3",
      "parents": [
        "d0d8b79a7e25d5b9bfe67359e27de71ab954a2a3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 21:14:27 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 21:53:19 2019 +0000"
      },
      "message": "gma registers: Separate 32- and 64-bit GTT access\n\nWith Broadwell the GTT layout changed significantly. Before, we had a\n2MiB GTT with 32-bit entries. Now, it\u0027s a 8MiB GTT with 64-bit entries.\nWe used to abstract over that with configuration constants but that\u0027s\ninfeasible if we want to support Haswell and Broadwell with a single\nbinary (boards that support both processors exist).\n\nTherefore, declare both GTT variants and decide based on the CPU which\none to use.\n\nChange-Id: Ib6f21b71c434a9cbdd5cdfa3697da2b2e86750f4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27056\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ef3b0939944b9eac06ca9cfafe5256b7f81bd175",
      "tree": "0907f6be0f46b833f2bf1d42195c60b661544fdb",
      "parents": [
        "117db37ec100cc73ea470d36d48f546cf8ae71ac"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 18:26:38 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:29:31 2019 +0000"
      },
      "message": "gma config: Introduce Has_New_FDI_(Sink|Source)\n\nChange-Id: Ib9a5951abf62ed01583ad028bc944c0135744457\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27051\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "117db37ec100cc73ea470d36d48f546cf8ae71ac",
      "tree": "4a7fc2455dc8d57753b3857fccb020ea96384eb5",
      "parents": [
        "318bca1636edc2c550068398be10977e45c45a2b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:56:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:20:52 2019 +0000"
      },
      "message": "gma config: Introduce Have_HDMI_Buf_Override\n\nChange-Id: Id00ae200cc8d08ce245d57b2886a40f0fea10167\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27049\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "318bca1636edc2c550068398be10977e45c45a2b",
      "tree": "b02caf27a69f13aa83d19dc43561f2c8e64e1dff",
      "parents": [
        "cf88f3d1567cf6475be5ddf3e7a433895a6144a6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 19:22:52 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:19:21 2019 +0000"
      },
      "message": "gma config, port detection: Scatter Valid_Port initialization\n\nWe did overwrite most the default values for `Config.Valid_Port` anyway.\nSo move the few remaining defaults where they are visible together with\nthe other runtime settings.\n\nChange-Id: I17df08de0aa1ffb303646ea564c100bb702407f5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27047\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "67cf6d8f2bd36d8f78f48dfb927789d007b7740f",
      "tree": "1110492407b3809d92b5bc7b295a9e206ca1ecb2",
      "parents": [
        "f70eddafbc2c6045a14e2f8bbb3273ee738fbaf7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 18:48:11 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 18 16:04:41 2019 +0000"
      },
      "message": "gma config: Introduce Is_ULT\n\nChange-Id: I545d74ba6cadb06479b29b85aa9dc2af2be564d6\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/27053\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "d58de7d2126316fc1afbb84e4d6a26046d2cf1b7",
      "tree": "f1391ace26849bd38415c7a2f7b7baf8d9defd1c",
      "parents": [
        "eb4e8f91c4089fb3e89eeba039dfef3f7d79e5cf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 07 23:06:55 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 15 17:10:16 2018 +0000"
      },
      "message": "gma config: Introduce Has_Tertiary_Pipe\n\nAnd use it instead of `Supported_Pipe`.\n\nChange-Id: Id3c4bdaf0d6b6c6126692b00cbabaf7d3f85b4bf\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/27048\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "eb4e8f91c4089fb3e89eeba039dfef3f7d79e5cf",
      "tree": "a4ad7a36df41af49dcbd586acffb5b8ccf972b43",
      "parents": [
        "7ba7bd64ae6242177496f98a24e280aec1cb1655"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 00:00:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 15 17:08:18 2018 +0000"
      },
      "message": "gma config: Fix CPU range for Has_PCH_DAC\n\nLooks like this hasn\u0027t been tested for a while or maybe never. The range\n`Broadwell .. Haswell` was reversed and thus empty.\n\nChange-Id: I1f6f8e3897c55aa5978e9403d14f103458c89cac\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/27046\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c5c767ace8fcd91004474609e6f278018c054f41",
      "tree": "f096f184b6026e9dfe3ca8b7e79be46f42e0321a",
      "parents": [
        "da1185eea1dad41b9b15685cbe5eaaf352158d16"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 01:09:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 17:31:27 2018 +0000"
      },
      "message": "Use (Width|Height)_Type for modeline sizes\n\nSaves us a lot of conversions and explicit contracts.\n\nChange-Id: I32c06ca87b18c25e3c519fa608c4b9b36dbc0449\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26849\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "4dc4c61a4ab4e1903b97fc52c0c3809fa43cda56",
      "tree": "6fdfa11c1dfb2d8f45971c5685a5e097e708a759",
      "parents": [
        "a02b2c699b736a97773c2e8ca17aa2886a72131c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 15:55:09 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:48 2018 +0000"
      },
      "message": "gma: Configure cursor plane\n\nProgramming the cursor plane registers is straight forward.\n\nOn newer hardware, we also have to account for the cursor in GPU\ninternal buffer allocation. Fortunately, we have enough resources\nfor a static configuration that always accounts for a cursor.\n\nCursors with a location that is off limits are placed off-screen\nin the top-left corner, hence, are invisible.\n\nChange-Id: I08ffd81d524e14e464af6e6f6fb5effbd4890d8a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/23204\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "a02b2c699b736a97773c2e8ca17aa2886a72131c",
      "tree": "89ddc05958a57884e4fba647c2f4985fa360f7ab",
      "parents": [
        "7a740439ed7b301ab30291ece19b63083ed90e79"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 15:58:34 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:43 2018 +0000"
      },
      "message": "gma: Add cursor infrastructure\n\nAllow ARGB cursors of 64x64, 128x128 or 256x256 pixels. Valid positions\ndepend a lot on the hardware generation, so we\u0027ll accept arbitrary\ninteger values in the interface and filter them internally. An out of\nbounds cursor will simply be invisible.\n\nIt\u0027s unclear if the parameters also apply to other GFX hardware. Thus,\nwe keep the types in the GMA sub-package for now.\n\nChange-Id: I1a380037ac91ba2beeb33c27a6882eb5caa126f9\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/23185\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "3d06de825053c45f9fdb413b72f3174809533a51",
      "tree": "81f69ad4add628d9f00e6b6211c86536cac8982d",
      "parents": [
        "73ea03245445527a80b70e41cf4a910371014ca0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 01:35:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:31 2018 +0000"
      },
      "message": "gma hsw: Enable Power Down Well for scaling on DDI A\n\nThe primary pipe can drive DDI A (eDP) without the Power Down\nWell (PDW). The scalers are inside the PDW, though. To enable\nscaling for DDI A, ensure the PDW is active.\n\nWhen switching between scaled / unscaled modes, we\u0027ll have to\nreconfigure the whole pipe.\n\nChange-Id: I46318bb74d00a584d268a9d76787f8b26249264d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26663\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "73ea03245445527a80b70e41cf4a910371014ca0",
      "tree": "210fafb8ff5631b2946bdd4511271293b2f8a27c",
      "parents": [
        "d5198445517c361b30f4521e52b953d2a7928a70"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:17:07 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:18 2018 +0000"
      },
      "message": "gma: Add G45 support\n\nThe following ports are implemented: HDMI/DVI, VGA, LVDS and DP.\n\nTested with gfx_test and coreboot on a Thinkpad X200 (GM45).\n\nChange-Id: Ifc05a1516329a61772af84558e5bfceb4d4ca277\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/21295\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d5198445517c361b30f4521e52b953d2a7928a70",
      "tree": "8a17ba1ffbf11ed5982b5ea162da16223fe7d68a",
      "parents": [
        "fdb0df1d8d82101eeba70cc64016e41834dfa6a5"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:05:12 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:39:02 2018 +0000"
      },
      "message": "gma: Add flag to set up GMCH Panel Fitter\n\nSetting up the panel fitter for a second Pipe is omitted in order for\nthe configuration for the first pipe to remain valid. It is currently\nunknown how the system would behave in such situation.\n\nChange-Id: I4949fbb5356bd244d3d6f3eec71847b6e683079a\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25409\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "e87d0d1e2b0dc8d53a16eb2a16bdac7de44e1b28",
      "tree": "1a0ce865768db16dd66c51ba0adceee94ad49e77",
      "parents": [
        "5d08a93cb9ebe2a411561dd9c635f7a066e2b5d1"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:02:49 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:00:30 2018 +0000"
      },
      "message": "gma: Add flag to use GMCH PP registers\n\nChange-Id: Ia94af6340bdf329328f265fb9424224c1ab5f45f\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25408\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "636390ca01e7ecd6c53c1db60a6b97685bb5483e",
      "tree": "2eab6ba0ee7d4b9b225e16dac3c9dfc0915e5453",
      "parents": [
        "229ed1c7bfb6c372b6247a6be6f002066feaf43e"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:52:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:00:19 2018 +0000"
      },
      "message": "gma: Add a flag to use GMCH transcoder registers\n\nChange-Id: Ic9bff918bdcab3c5c55316cb6de1a8a8bf1c6430\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25406\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "229ed1c7bfb6c372b6247a6be6f002066feaf43e",
      "tree": "41d80973d6c09e9bd83471a27c1280194f92e595",
      "parents": [
        "dfcdd77f8e9b7c499a7a89de7d0d4dc29a3fc91f"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:45:43 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 12:59:55 2018 +0000"
      },
      "message": "gma: Add flag to use GMCH GMBUS registers\n\nChange-Id: Id5d115c7a4711f634171e6e163439ebab4ee6076\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25405\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "dfcdd77f8e9b7c499a7a89de7d0d4dc29a3fc91f",
      "tree": "39f91b5bd83d011d369ef305d9348452a7bd5869",
      "parents": [
        "d1988d1a033d4d12b48cbc6640984ef3b143fd30"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:42:50 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 12:59:46 2018 +0000"
      },
      "message": "gma: Add flag to allow use of VGACNTRL on GMCH\n\nChange-Id: If2f12f14b4f367cdfc8cc2c20402f2350e3bbba8\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25404\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d1988d1a033d4d12b48cbc6640984ef3b143fd30",
      "tree": "9ece798e34f1a48a6cff2bbf3dd14208de0a564f",
      "parents": [
        "7628493a7e7acaba93d607db008a59ec8fa8eebe"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:27:57 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 12:59:42 2018 +0000"
      },
      "message": "gma: Make Raw_Clock a variable\n\nOn GMCH the Raw_Clock depends on the FSB frequency.\n\nChange-Id: I11af9ecb3504983ba1d3136c1b82bd14363afdba\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25403\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "9b479412a7e43888f52840e03b57eed710e46af6",
      "tree": "327ed066e30f61d7a284bb787a29c34a8332bd47",
      "parents": [
        "b7470499e80e1910ff078a55ac46a097b7f0c903"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 27 11:55:56 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:37 2017 +0000"
      },
      "message": "gma: Add support for rotated framebuffers\n\nAs for the tiling, we enable support for rotated framebuffers on\nplatforms with Plane_Control. On every path where a rotated frame-\nbuffer may be expected, we have to exchange width and height in\ncase of 90 degree rotations. Beside the rotation setting itself,\nthe hardware needs to know the vertical stride instead of the hori-\nzontal and a delicate page mapping in case of 90 degree rotations.\nFor that we divide the GTT space into two, the lower half contains\nthe linear mappings, the upper half mappings for a rotated scanout.\n\nChange-Id: I1c901b7abc0fe7764bee87f6fda58ba9fa3f340d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22711\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "b03c8f19ae0d7e1f9f27ff258e72a37dfb87f323",
      "tree": "4406950a9497d0683687521c760430a02d907663",
      "parents": [
        "51375ad75a99d395f3843e46783c0743b5fea29b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Aug 25 13:29:08 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:25:56 2017 +0000"
      },
      "message": "gma registers: Add procedures to set fence registers\n\nThrough fence registers, we can tell the hardware which parts of the\naperture cover tiled framebuffers. Only legacy X and Y tiling is sup-\nported. According to `i915_reg.h` there are 16 fence registers from\nG4x on and 32 from Ivy Bridge on (this only partially matches docu-\nmentation: Haswell has 16 regs documented and the fence registers\nwere not documented at all before).\n\nChange-Id: I02edc99b315e24dc175c6f93aff627e59cb1ff0b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/22708\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "e7ac6ebddc771fb7262c5f15decd617deea1bb50",
      "tree": "5a2eb830a9a1c57677210f0665d50ea9a7e66dca",
      "parents": [
        "208857d393022e9a5b314f7e7ce21b7d40546c44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 04 23:54:13 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:03:22 2017 +0000"
      },
      "message": "gma: Implement PCI Id based generation check\n\nWe were used to sanity check the GPU generation by the audio id because\nthat was easily accessible in MMIO space and only one number per gene-\nration. It doesn\u0027t work on Skylake, though, so we read PCI ids instead.\n\nChange-Id: Id6c9cfdb00664dc2c36b2cbd13136568829297d5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21394\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "208857d393022e9a5b314f7e7ce21b7d40546c44",
      "tree": "2cd1eb59cf6cd9468c74efdd23bf14c740a8b993",
      "parents": [
        "907e4157aab4b0fb078e2a81ca9f21fade4ba257"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 29 21:30:24 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 13:59:24 2017 +0000"
      },
      "message": "gma hsw+: Treat DDI E and PCH DAC disabling separately\n\nWe only use DDI E for analog VGA outputs through the PCH DAC. DDI E\nmight be configured differently, though, by a previously running dri-\nver, so we have to treat the two entities seperately on the All_Off()\npath.\n\nChange-Id: I603ecd29c48af43bc21acaadbedaeae451acbcf3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20822\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "907e4157aab4b0fb078e2a81ca9f21fade4ba257",
      "tree": "8e0a627f6eeb243aaf1c40c3fa82f709bd786d16",
      "parents": [
        "19729a747bb78d4e5d4babfc6b9680b2ec0e5bb2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 29 21:18:59 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 13:55:14 2017 +0000"
      },
      "message": "gma hsw+: Don\u0027t use DDI E if DDI A uses all lanes\n\nDDI E shares its two lanes with DDI A. If DDI A is configured to use\nall four lanes, DDI E is disabled. As DDI E is the only DDI that can\nbe configured in FDI mode to feed the PCH DAC, treat `Analog` as in-\nvalid in this configuration.\n\nChange-Id: I94e9537c9f30d0cbf757b816f38d44e1b43805b3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20821\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "19729a747bb78d4e5d4babfc6b9680b2ec0e5bb2",
      "tree": "3963b14b90045460a813fa061f68f0aa3f3a714b",
      "parents": [
        "5fd9a319684f71fa6f4dcb77ce8bc9337f5695b7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 30 01:05:05 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 13:54:25 2017 +0000"
      },
      "message": "gma hsw+: Revise Has_DDI_D flag\n\nThe GFX Programmer\u0027s Reference Manuals (PRMs) aren\u0027t clear on this but\nit\u0027s pretty clear from the processor datasheets which SKUs expose which\npins: All U/Y processors lack DDI D.\n\nChange-Id: I84c40b6bc01091de8a512e21354243c74643e0f5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20820\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "1bc496fc832cde66cad36d299cb4f193775a26a4",
      "tree": "68777156972175b157b5fe279ac26ac03b24ac41",
      "parents": [
        "c3f66f635352be8f49da55f2727a6fc3093d7e62"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 09 22:23:28 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:12:45 2017 +0000"
      },
      "message": "gma-display_probing: Only check display type on DVI-I\n\nOn DVI-I connectors the DDC is shared between the analog and digital\nparts. To decide which path to take we checked the digital input bit\nof the EDID. We did this overeagerly for all ports, which broke com-\npatibility with DP adapters (the DP realm is very complex and we are\nsupposed to discover the whole downstream hierarchie, which obviously\nwould be overkill).\n\nChange-Id: Ifc53e8ab985695e6e4ff1d42659826710a50eae9\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20135\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Felix Held \u003cfelix-coreboot@felixheld.de\u003e\n"
    },
    {
      "commit": "2b6f6992188460bbb10ce2838a981ddc37141755",
      "tree": "e744d7d06e1414a4d089fd6f7c2849ea15286045",
      "parents": [
        "b8ae61876b8ddbf788f2168c87c8fce8dbaad0e3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 18:11:34 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 21 10:56:15 2017 +0000"
      },
      "message": "gma: Add a HW.PCI.Dev for dynamic MMIO setup\n\nRemove `MMIO_Base` option from Initialize() and try to derive it\nusing libhwbase\u0027 PCI mechanism instead.\n\nChange-Id: Iacd4d098954bb96c1c6b40fdfb2636191d9517c7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20600\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b8ae61876b8ddbf788f2168c87c8fce8dbaad0e3",
      "tree": "44a2d4bce1cb8d7bd1fafdf90e048d47eac6e8a6",
      "parents": [
        "fda2d6eaef548a193cc70fc2c2dd0dbeb649951e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 15 20:03:56 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 21 10:54:09 2017 +0000"
      },
      "message": "gma: Move GTT constants into GMA.Config\n\nChange-Id: Ie4b017f26b658c1818f90701089ce5d3171e4953\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20599\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "58afc202b1b29898f68f239ec7e50ac532b5d46c",
      "tree": "bce198ed9feb3b08fdb1412531e0867c139976ad",
      "parents": [
        "18ff0c13b740f4153f39dfeb5b9af474bfa13e0a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 12 21:34:55 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jul 25 20:23:59 2017 +0000"
      },
      "message": "gma skl: Add I_boost configuration\n\nHardcoded to 1 since we don\u0027t support Skylake-Y (ULX).\n\nChange-Id: I22fa056531cac18828c867f9c9f5745ec424d38c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20168\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "18ff0c13b740f4153f39dfeb5b9af474bfa13e0a",
      "tree": "6dee0d9f2256d54af9e317f8bafef835eb2b1d10",
      "parents": [
        "730f17c6abf9be8b43734dbfabe90256d479fecb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 12 15:41:31 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jul 25 20:23:19 2017 +0000"
      },
      "message": "gma skl: Add DDI buffer translations\n\nChange-Id: Ibb058de78f671b94ee788f30342184a8c31a1154\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20167\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "730f17c6abf9be8b43734dbfabe90256d479fecb",
      "tree": "785a5838e616535e58743d977745733addea6aed",
      "parents": [
        "01b680ff020b1bcc9e5d8a864affd47bac75488b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 12 15:51:25 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jul 25 20:21:27 2017 +0000"
      },
      "message": "gma hsw bdw: Add DDI buffer translations\n\nChange-Id: Ib87be86e2853e6b9df7e19dd9cb80d4f7effefc5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20166\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "01b680ff020b1bcc9e5d8a864affd47bac75488b",
      "tree": "7800b9c5ed6c760e2f7f81335b17b94c66d9e09f",
      "parents": [
        "247adf39f6172aace09aef819c245d92263a86f4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jun 09 16:24:22 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jul 25 20:20:27 2017 +0000"
      },
      "message": "gma hsw+: Add boilerplate for DDI buffer translations\n\nChange-Id: I8fcba64a3c663b9eea7fb11088c62ea584d63e04\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20129\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "247adf39f6172aace09aef819c245d92263a86f4",
      "tree": "e1d886b8030deaa9222a4f165fb3ac914a3d6a23",
      "parents": [
        "0923b795fe51df4431061fa8b44d975aa8027f52"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 12 14:39:11 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jul 25 20:15:32 2017 +0000"
      },
      "message": "gma hsw+: Add default value for HDMI buffer levels\n\nAdd a configuration option to override the default HDMI translation.\nIt\u0027s not exported yet, as we\u0027ve never seen a non-default value being\nused. So this is just to have a common place for the defaults.\n\nAlso sets the recommended default value for Broxton as defined in the\nPRM.\n\nChange-Id: I59fae0fb4f444d9193a98b6a0edf337ecbba3b62\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20165\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "1c3b9285ceb3ff7bbb6dab8d9805ca3bda9d0ff3",
      "tree": "78a2fe0e2c18db7ad8bfd5bd81bee78ddb2f661a",
      "parents": [
        "fdd93659e03396051940988de328f28cdb7d448c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Feb 09 13:57:04 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 03 15:24:28 2017 +0200"
      },
      "message": "gma broxton: Add final glue\n\nAdd new configuration flags for Broxton and hook up its DDI_Phy\nimplementation in the shared Haswell DDI code. Haswell and Skylake\nget DDI_Phy stubs.\n\nTested (in Linux userspace) on ASRock J3455-ITX which exposes the\nfollowing ports:\n  o VGA through an active eDP to VGA converter chip\n  o HDMI 2.0 through an active DP to HDMI converter chip\n  o DVI-D connected to the SoC\n\nChange-Id: If72b228c6a4c45487261e6e7435d281ec2d97f38\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18426\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "21da5741378af7c9f8db23b55aa316a905ae9183",
      "tree": "64d43912915ee62a2ff6953dbe7270e2c61acf02",
      "parents": [
        "b83107c60fbabfaf8db02a506fb4693b90363691"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jan 20 14:00:53 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 03 15:19:33 2017 +0200"
      },
      "message": "gma: Add config plus stubs for Broxton SoC\n\nCurrent plan is to support all DDI outputs of Apollo Lake. This\nincludes one eDP (DDI A) and two fully fledged DDIs (B, C) that can\nbe either configured to DP 1.2 or HDMI 1.4. MIPI/DSI outputs won\u0027t\nbe supported for now.\n\nSince there doesn\u0027t exist any public documentation, the code will be\nsolely based on analysis of Linux\u0027 i915 driver.\n\nEverything is a stub. In the existing code, at least DDI configu-\nration will also have to be adapted.\n\nv2: Escape hash characters in config file\n\nChange-Id: I4a79d4531d238049ba00ab4f03e270e6b58f81ab\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18421\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ac455ad15a7acfec0ae1e1046fe10aa28358d6a5",
      "tree": "35e13c7864a7472221d1c3c72bda06d37c31bff2",
      "parents": [
        "bcb2c47c5120ed32d8d9a42990acc3f16f202ad9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Feb 14 14:41:19 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Mar 14 11:55:01 2017 +0100"
      },
      "message": "gma ddi: Don\u0027t try to disable non-existent DDI D\n\nDidn\u0027t hurt on Haswell-/Broadwell-U, but did lock up Broxton.\n\nChange-Id: I6a47d0fba8cb6e59d8ace1ab64eed6182769a37b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18420\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7ad2d6569640f2f18b736fbf372ffb9aea5bed27",
      "tree": "9d107b97b846924b40f7e202de1ff1a17b8d99a8",
      "parents": [
        "113a14bd5a3e96225c1717a09a578a434385592e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Dec 07 15:19:32 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 14:57:21 2017 +0100"
      },
      "message": "gma: Move transcoder setup into own package\n\nSplit the transcoder setup out of `Pipe_Setup` into a new package\n`Transcoder`. This comes closer to how Intel\u0027s manuals describe the\nhardware.\n\nAlso rework the related constant definitions to make things more\nhuman readable.\n\nChange-Id: Ife0f0d635d87b874d4b713a00ca7a1bec688c672\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17764\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "3c544eeb50590b2bbc69f04725b279ec96a4b2fa",
      "tree": "41da4546fce3638382feef931c4b76fdc4755437",
      "parents": [
        "6b7a40b94ca3b9d77a6cb2d262ed763a6bba3012"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 04:56:58 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 01 17:34:54 2017 +0100"
      },
      "message": "gma: Refactor Port_Config derivation\n\nMostly renaming and some type tightening. Move the call to\nConfigure_FDI_Link() into Fill_Port_Config() as it\u0027s part of the\nPort_Config.\n\nAlso start to document some procedures. The whole high-level con-\nfiguration is driven by non-obvious software-design choices, and\nthus isn\u0027t self-explanatory even if you know the hardware.\n\nChange-Id: Ib6a0893333e9359776140ed9de110f54cf36f6e5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17756\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "1b2c9a3a0c0c8dfaa539baf5db1c76ef16c317c9",
      "tree": "835aa42dffc90db437dbb4a1061b3ca794242b45",
      "parents": [
        "995436b6ba33b7682356b06cfa7a034d5adc5cfe"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 03:42:08 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:58:54 2016 +0100"
      },
      "message": "gma: Refactor Scan_Ports()\n\nFactor the probing of a single port\u0027s EDID out. Not only to save some\nindentation levels but also to make it more flexible for later en-\nhancements.\n\nChange-Id: I063787ac42174a02e83e3d5ed93c033f16d3df7a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17753\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "0d454cde12f33a67528c1343bfda7e37b37e7559",
      "tree": "60e8b70525f9bb4770e4129b8112bcc78c89a485",
      "parents": [
        "99f10f30d15c287ed8e27159a1a4350a1228bc51"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 21 13:33:43 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:58:07 2016 +0100"
      },
      "message": "gma: Rename ports Digital[123] \u003d\u003e HDMI[123]\n\nBefore we had DP support, Digital just meant HDMI or DVI, but now it\u0027s\npretty confusing. Rename them to HDMI as it supersedes DVI.\n\nChange-Id: Ie8b4c60ac60040aa5c725ffc9cd06aa164391756\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17750\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "99f10f30d15c287ed8e27159a1a4350a1228bc51",
      "tree": "e1831c8087faec3cc34cd82f54ba01f23d6d5dfd",
      "parents": [
        "43cf8d5b120bda9a3ecbec5dd4cfa479818d32b6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 00:34:05 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:57:51 2016 +0100"
      },
      "message": "gma: Rename Config_Type \u003d\u003e Pipe_Config\n\nThis was long overdue. Originally, we only had one type of `confi-\nguration` but those times are over. Thus, rename `Config_Type` to\n`Pipe_Config` along with `Configs_Type` to `Pipe_Configs` and\n`Config_Index` to `Pipe_Index` to give them more meaningful names.\n\nChange-Id: Ic02c738f51b01a883e05eff1c94f9c2d6058fdc4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17749\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "74ec962821b6151d8fec6639c07080a552d2ffc7",
      "tree": "2badba75821f2d3dce4ec7661f2d0d15f56380cf",
      "parents": [
        "fbb422015506b6c175ff35d084e5cf267dfc0096"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Nov 19 03:00:43 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 05 12:38:06 2016 +0100"
      },
      "message": "gma: Limit HDMI pixel rate\n\nGiven that current Intel chips only support 4K@30Hz over HDMI, it\u0027s\nactually no surprise that older chips had even lower limits. For a\n24bpp mode, it\u0027s 225MHz for Nehalem, Sandy and Ivy Bridge and 300MHz\nfor everything newer.\n\nTo keep the code most simple we keep the display\u0027s native resolution\nand just limit the clock if we encouter an unsupported mode.\n\nTEST\u003dBooted T420 with a DELL U3415W attached over DP-to-HDMI and\n     DVI-to-HDMI adapters. The display came up with 3440x1440@42Hz\n     (instead of a garbled picture at 1720x1440@60Hz).\n\nChange-Id: I5386386c648db267a49ed1f62750d2a5fdb2d934\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17499\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "fbb422015506b6c175ff35d084e5cf267dfc0096",
      "tree": "800db7e4028ed730b7c4c10d08e0252062fd5eae",
      "parents": [
        "3675db58aa729bfb565b61389d3b2568360095af"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 07 15:08:26 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 05 12:35:25 2016 +0100"
      },
      "message": "gma: Implement Ivy Bridge VGA plane workaround\n\nIt\u0027s a documented requirement, even though it doesn\u0027t seem necessary.\n\nChange-Id: Id4f579c1ca34633ee00c771b39e6ff45cdcfbf69\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17277\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\n"
    },
    {
      "commit": "4916e34ddfc7c48b78ed7ac81fe7063287504cd2",
      "tree": "1d173567e74bceb55a7904b3cccc0e1cbb535f57",
      "parents": [
        "770fe4a07caa37cca50d32fb4c218ea63607e34c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Nov 04 14:37:53 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Nov 29 23:43:40 2016 +0100"
      },
      "message": "gma: Configure panel fitter / pipe scaler\n\nIf the framebuffer size is smaller than the display mode\u0027s resolution,\nenable the panel fitter or pipe scaler (on Skylake+).\n\nChange-Id: I0a648a7e7bf495a80636a589a74b698ecba7e7d5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17263\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "dcd274b28d49570a7fdeace8806af3d17cfd92dd",
      "tree": "df95cee9fa72ef9b66f8db59fc7a7bbde4f1aa05",
      "parents": [
        "c7a4fee02f526fd851ac87acae5862dc7bb34800"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Nov 03 20:15:39 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 17 11:21:45 2016 +0100"
      },
      "message": "gma: Validate maximum scalable width\n\nChange-Id: Iba8199a2451e1976ac8aa0f8632d0846fc0caeb4\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17261\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Martin Roth \u003cmartinroth@google.com\u003e\n"
    },
    {
      "commit": "d55afebf8bc03f87d1a8b8f92144c2f8da6ca0ae",
      "tree": "7703f06d76adeaf58b1fd9c8980716410c92909d",
      "parents": [
        "393aa8a8b62455d69651122d1aa3dacc21dd750c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Oct 21 14:31:10 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 29 01:26:13 2016 +0200"
      },
      "message": "gma i2c: Make I2C port for VGA displays a config option\n\nBoards with a DVI-I connector share the I2C pins for both analog and\ndigital displays. In that case, the EDID for a VGA display has to be\nread over the I2C interface of the coupled digital port.\n\nTEST\u003dBooted kontron/ktqm77 with DVI-I to VGA cable. Display is detected\n     and enabled (but doesn\u0027t show anything, yet?).\n\nChange-Id: I5c4f77d5ad1927f075877a3719361ed2193f4c39\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17086\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "abe3de257c482ebeb90cf9f93d69ae744c60f9a6",
      "tree": "6181e69238840704e1370e005ddca3ee7e1f1d4d",
      "parents": [
        "f54d0962018b0443973f84e525e0d112ce956800"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Oct 20 15:03:46 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 29 01:23:09 2016 +0200"
      },
      "message": "gma dp aux: Program 2x bit clock divider\n\nThis setting exists for any platform before Skylake. Some have sane\ndefaults after reset, some don\u0027t. So we always set the correct divisor.\n\nThis makes external DP output work with coreboot on Ivy Bridge.\n\nChange-Id: I91d8030a985cc35c7cf826c0276753137b5d6b77\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17072\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f54d0962018b0443973f84e525e0d112ce956800",
      "tree": "80d5b86e918fab1d92d7455eec2c3590c0d354a8",
      "parents": [
        "125a29e84242900a5556e8a068227e59420c3e1c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Oct 20 14:17:18 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 29 01:21:38 2016 +0200"
      },
      "message": "gma: Program PCH_RAWCLK_FREQ register\n\nThis seems to be a scratchpad register to tell later drivers which\nfrequency the platform uses. Linux reads this but never writes the\nregister.\n\nChange-Id: I55af7c7b675da580c7f52d9997262b232019132c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17071\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\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"
    }
  ]
}
