)]}'
{
  "log": [
    {
      "commit": "6c10d367eb169cc3f07053785fd000b382874672",
      "tree": "98c32c8cca2fea624303c051b423f7dcda97c451",
      "parents": [
        "530651bfb439d37abb0f07593d7ab604f2419a18"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Oct 02 00:28:19 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 06 14:12:49 2019 +0000"
      },
      "message": "Increase range of our main Frequency_Type\n\nIncrease `Frequency_Type` to 1MHz .. 2.5Ghz. We used to adapt it\nwhenever necessary, e.g. when a new generation supported higher\nfrequencies. But that got a little annoying. So let\u0027s choose a\nbroader range that will hopefully lower the noise for some time.\n\n1MHz is low enough for VGA resolution at 24p, and 2.5GHz is high\nenough for 8K at 60p. That should give us some margin.\n\nSome corner cases required refactoring of some calculations and\nproofs. And, admittedly, the calculation in `HW.GFX.GMA.PCH.VGA`\ncan in theory overflow. We prove absence of runtime errors by\ndeferring the potential overflow to the modular `Word32` type.\nThis is not perfect, but overflow or not, we have to expect to\nbe called with a sane frequency anyway.\n\nChange-Id: I3a159bc11ccadcaba8ad04e126e6feadfd46008e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35750\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": "a4e7f25c408902677824f5edc3f6ad1e760241a3",
      "tree": "4ec278dde3bf09c6bc146cad0727a8d3e6ab4b63",
      "parents": [
        "e317e9c31cef31f960a5cfb3e3247047d39ae7a1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Sep 17 16:25:49 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 05 23:23:59 2019 +0000"
      },
      "message": "gma i2c: Increase timeout, again\n\nCan a timeout be long enough? We still face the same problem as in\n68f439d4f1 (gma i2c: Increase timeout to \u003e100ms). User reports have\nshown, that the 110ms still were not enough, 200ms would be but to\nbe safe this time, increase the timeout to 500ms. That may result\nin very long delays, but only if the hardware is even more broken\nthat what we encountered so far.\n\nChange-Id: Ia7b28f5a4ed1cd382a7ebfba5ce1ffe1b7a333a8\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35450\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\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": "c5c66ecf12c51600a20aac257394fd7f13d25113",
      "tree": "3fb25026c2bbec6531efb52d3937b085159c53fb",
      "parents": [
        "7f3e280f0233958f5c858e19a3b80c3fdd50a83f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 23:59:45 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:16:44 2019 +0000"
      },
      "message": "gma: Allow private sub-packages to access PCI config\n\nOnly export Read16() for now, which we need in a follow-up.\n\nChange-Id: I2ca17cab0566d50000369263ab56e122ac6cbb8b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35712\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": "9a4c4c3024a20bfe134bf93ca04a3634848dbd39",
      "tree": "b53532d9affed9129c64120b916cf5f7bd016d97",
      "parents": [
        "88da05e1742894774144bc6aa750e742d0b10291"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 16 22:05:11 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:10:27 2019 +0000"
      },
      "message": "gma: Refactor Update_Outputs()\n\nIn Update_Outputs(), we used to have two steps, iterating over\nall available pipes: We disabled all pipes whose mode changed\nor that would be disabled otherwise. Then, we enabled all pipes\nwith new modes.\n\nAs checks for validity of the configurations were only done on\ndemand in the second step, that left us with no knowledge about\nwhat configs would actually be tried. To make this information\navailable for future work, we add a validation step before the\nexisting two. That gives us:\n\n 1. Validate all new configs\n 2. Disable pipes\n    - whose mode changed\n    - that were disconnected\n    - whose config didn\u0027t validate\n 3. Enable/update pipes with new configs\n\nThis way, we can make global decisions ahead of 2. and 3. based\non the remaining, _valid_ configurations.\n\nWe had to turn Pipe_Setup.Scaler_Available() into a Reserve_Scaler()\nso we can keep track which new configuration gets to use a scaler.\nG45 is still the only case where we have less scalers than pipes\navailable. To keep that transparent to Update_Outputs() we add the\nopaque type `Scaler_Reservation`.\n\nThe `Loop_Invariant` of 1. allows us to keep the validation\nin mind, to satisfy pre-conditions of the various steps ahead.\nTo not lose the validation, Fill_Port_Config() needs a post\ncondition and a little restructuring to prove it.\n\nChange-Id: I079ae8f85c821a272b5d095c1ef437ee804aa9ac\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35528\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "88da05e1742894774144bc6aa750e742d0b10291",
      "tree": "87a020df25668d680eeac96fd2c033c8275f7136",
      "parents": [
        "9e96a45649a8e7c8d945220bbaa0e37ff1af8adf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 16 21:03:20 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 21:37:13 2019 +0000"
      },
      "message": "gma config_helpers: Add dot-clock helper functions\n\nHighest_Dotclock() returns the highest dot clock in a set of\npipe configurations.\n\nLimit_Dotclocks() reduces any dot clock to the given maximum\nif it exceeds the latter. To prove that Limit_Dotclocks() only\nchanges timing, we introduce Stable_FB().\n\nChange-Id: Iaa25e774d38c7af12150523739d902cf8e758674\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35529\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "9e96a45649a8e7c8d945220bbaa0e37ff1af8adf",
      "tree": "9b8552aad49ed267cca4a352c7c19017d7a7d0fa",
      "parents": [
        "312433cd3d90ebd5ee44bc1795b10e3846c1f96c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 22 20:25:17 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 21:34:46 2019 +0000"
      },
      "message": "gma config_helpers: Introduce Valid_FB()\n\nMake the post condition of Validate_Config() a separate function,\nValid_FB(). This way, we don\u0027t have to repeat it everywhere.\n\nTheoretically, we could make Validate_Config() an expression\nfunction, too. Alas, all the added conditions seem to distract\nprovers too much.\n\nChange-Id: I0931217658000d3ff6d71515acb45aeb063768d5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35527\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "312433cd3d90ebd5ee44bc1795b10e3846c1f96c",
      "tree": "b9797382071153359c87386163f70bdfbd074da0",
      "parents": [
        "82ca09f1f372200046dad13db6e81829ff067caf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 03:15:48 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 21:34:26 2019 +0000"
      },
      "message": "gma pcode: Move and revise mailbox handling\n\nUnify the PCODE mailbox implementations (Linux\u0027 i915 uses the same\nimplementation since Sandy Bridge, too) and add `Wait` and `Success`\nparameters so we can act correctly if something failed. This adds\na lot of boilerplate. But we keep it contained in the new package\n`PCode` and the code outside it looks cleaner and handles errors\nmore gracefully.\n\nIn GNATprove, we track state of the mailbox\u0027 readiness in a ghost\nvariable `Mailbox_Ready`. This allows us to skip the initial wait\nloop if we know that we already waited at the end of a previous\ncall. The first call to a mailbox procedure has to be made with\n`Wait_Ready \u003d\u003e True`.\n\nAlso, start to experiment with a `use` clause for the `Register`\npackage. It allows us to write a little more condensed code, with-\nout sacrificing much (in this program we can expect that `Read`/\n`Write` means register access?) So far it looks good?\n\nChange-Id: I5daa3effb7ab774e4a35bd8794b0f67f57e4caa4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35710\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "82ca09f1f372200046dad13db6e81829ff067caf",
      "tree": "3c79c77693b5502fe3ad2ebaeef1e99a09ca0077",
      "parents": [
        "efa3ca82eb7fc4e5717015022013d441b156c7a5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 02:37:50 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 03 20:07:40 2019 +0000"
      },
      "message": "gma registers: Implement `Success` parameter for Wait*()\n\nChange-Id: Ia0e30e3467400e9d53a32c9bfc97d2d5f00df4aa\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35709\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "efa3ca82eb7fc4e5717015022013d441b156c7a5",
      "tree": "c7efc3cfec2608240a4f3d94eb21e4666640de2a",
      "parents": [
        "4fc6dc24bbafd3211dc568dc43db435b6906c0c5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri May 10 13:28:52 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 03 20:06:01 2019 +0000"
      },
      "message": "gma i2c: Rework GMBUS reset procedure\n\nOnce we tried to use the GMBUS controller with an unconnected pair of\nI2C pins, it got stuck and a reset via the SOFTWARE_CLEAR_INTERRUPT\nbit didn\u0027t suffice to recover. Further tests have shown that we are\nable to recover, if we switch to a valid pin pair first and issue an\nI2C stop cycle before the reset.\n\nChange-Id: If737ffb35afa309de7746f0c16025b9598f69460\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32730\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "4fc6dc24bbafd3211dc568dc43db435b6906c0c5",
      "tree": "b57997e4f98b5a8a82dcc62ff1d68e86d3eb25cd",
      "parents": [
        "75a707f3ef80fb150fc0c3fdb69d7cb7c21480f6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri May 10 13:01:29 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 02 10:11:00 2019 +0000"
      },
      "message": "gma display_probing: End probing after all ports failed\n\nIn case of failure, we kept trying the last port in the list for\nfurther pipelines. Fix that.\n\nChange-Id: Id434492a7186f3b9431fd98dc16c0a7aa0e92501\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32728\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\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": "a815704c84b4823f5b723404a37efed9d6c85d66",
      "tree": "188304b43b029fa8bda7d45d2150f302388bfe45",
      "parents": [
        "94fb916ea6ab1e6ae901e5ab264d4e1e8e8b5f2b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Jul 25 14:05:17 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Aug 03 17:05:55 2019 +0000"
      },
      "message": "gma bdw+ transcoder: Use always-on path for primary pipe on eDP\n\nThis was a mistake in abb16d9 (gma hsw transcoder: Choose PDW path for\nscaling on DDI A). We only have to do it on HSW, future CPUs support\nscaling on the always-on path and don\u0027t support the alternative path\nanymore.\n\nTested on Haswell (gfx_test), Broadwell (gfx_test) and Coffee Lake\n(gfx_test \u0026 coreboot): Scaled picture shows up (instead of a black\nscreen on BDW+).\n\nChange-Id: I257108fce40b73024f231ca366c0d53b700dc588\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/34628\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "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": "68f439d4f17a366978ba83c21567d60fdb8df045",
      "tree": "8f73edb4efc3d2cb67dec4d0f88487cbc87bad1b",
      "parents": [
        "c1d2030ffa77a77a066b02f3a8269223a76f62b7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri May 10 13:16:51 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:32:49 2019 +0000"
      },
      "message": "gma i2c: Increase timeout to \u003e100ms\n\nAt least on the ThinkPad X200s with an oddly strapped (and unused)\nHDMI1, the GMBUS controller doesn\u0027t detect the NAK properly and only\ntimes out after around 100ms.\n\nChange-Id: I48c2ef94e1449a98a35af6912c43156e4ed08206\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32729\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c1d2030ffa77a77a066b02f3a8269223a76f62b7",
      "tree": "7a2209b91e9581a8e4fc90edd11eb13ae97ef146",
      "parents": [
        "040d9b6523345d1d67a0f3329e91f256ff041966"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Apr 28 00:00:37 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:32:32 2019 +0000"
      },
      "message": "gma i2c: Try to clear NAK indicator\n\nIf we don\u0027t clear the NAK indicator, some versions of ChromeOS fail on\nthe first transfer and don\u0027t detect certain I2C devices.\n\nChange-Id: I7df80d8757e1d14e288d9424240e873cf5a5fd29\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32491\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\n"
    },
    {
      "commit": "040d9b6523345d1d67a0f3329e91f256ff041966",
      "tree": "a04379cc1ba86e3e6c13b7a887b438c5848002d8",
      "parents": [
        "2c92794a5fa3c4b894c133e9b3e8bd3c8588f9a8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 18 00:52:00 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:31:41 2019 +0000"
      },
      "message": "gma: Publish Read_EDID()\n\nMight be useful in coreboot to read the raw EDID.\n\nChange-Id: I13d28a4434de3b0699a3475dd96febfdf75639f0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/31454\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\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": "d49b56baf97136e1b65f032a985291bf40a73260",
      "tree": "9795778221cdbc13faf2a13c45a365ea51fb4955",
      "parents": [
        "b3b9fa34bb99d33d0fc6a69c64966a71cebd5bd6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 17:19:15 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 08 20:41:19 2019 +0000"
      },
      "message": "gma pipe setup: Refactor calculation to ease proof\n\nSomehow GNATprove stumbles here when code changes elsewhere. Let\u0027s make\nit focus on the linear-offset calculation.\n\nChange-Id: Id5def319993b34144473984ca25c71d92c957180\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27152\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "b3b9fa34bb99d33d0fc6a69c64966a71cebd5bd6",
      "tree": "5ad88af76af9172a9b85d83d19593e1bf86aac23",
      "parents": [
        "8a9062a0842c70920ac1c95ba48b7d4f2e1538f0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 16:16:41 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:22:44 2019 +0000"
      },
      "message": "gma: Fix Ironlake panel fitting, revisited\n\nThis time avoid scaling to odd heights, too. At least Sandy Bridge\nhas trouble with this.\n\nChange-Id: Ib7dfe1fd289661ecd6949eca4b39860dbecc4463\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27153\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\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": "86445f36097b75f3c1648868b72f9359937511d3",
      "tree": "db78c0eb2aff03a8dd9abe9c5626b13a39858812",
      "parents": [
        "63ec8364dc2af8806ac1f52d806a2360128eb07e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 00:32:26 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:32:10 2019 +0000"
      },
      "message": "gma pipe setup: Drop explicit Global and Depends contracts\n\nThese were originally only added to prevent proof inlining and\nare not needed any more.\n\nChange-Id: Ia75c78a7030960a56e9cb469601b24c677732875\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27064\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "63ec8364dc2af8806ac1f52d806a2360128eb07e",
      "tree": "552512a539d8b24f9eef17a52c44b156c1d24f87",
      "parents": [
        "63dc9190f178cae95705e980f002565c40fa981c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:42:19 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:31:31 2019 +0000"
      },
      "message": "gma: Give constants depending on Config.CPU* a type\n\nTo reduce elaboration time dependencies, turn number constants into\nvariable constants by giving them a type. This will allow us to use\nthe same code for configurations with constant and non-constant\n`GMA.Config.CPU*`.\n\nChange-Id: I0b671cb18701d0ecae118e023e0fd21be5095da0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27063\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "63dc9190f178cae95705e980f002565c40fa981c",
      "tree": "9973d6bc0ff7d3b7c5fd7381922e95beabb8ec7c",
      "parents": [
        "d7809abf1a65f6d0c5b404349b4d8302bf4391c1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:42:19 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:30:48 2019 +0000"
      },
      "message": "gma: Turn constants depending on Config.CPU* into functions\n\nTo reduce elaboration time dependencies, turn constants at package\nlevel into functions. This will allow us to use the same code for\nconfigurations with constant and non-constant `GMA.Config.CPU*`.\n\nChange-Id: I0522f5c63c63080bf9633f3d1b6019f35e52d226\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27062\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": "ceda17dd7676889bc6f0ddae6f4cd2e51b5500d2",
      "tree": "a0ae1a855dcab5069ce58ba1fea5f75b5c1d311c",
      "parents": [
        "0b2329afa562657d351ef1f6864688c1a8560ce8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 22:00:29 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 21:57:01 2019 +0000"
      },
      "message": "gma registers: Add Read_GTT() procedure\n\nChange-Id: I0f8091b8958d0c228430fad4b8343fc362a2dbb7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27057\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": "d0d8b79a7e25d5b9bfe67359e27de71ab954a2a3",
      "tree": "fb425dfeba112e974967577da28193d9d49fc89c",
      "parents": [
        "1ee571400d687a6a2c2139b2dccead2dcfa4fad1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 19:45:00 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 21:47:59 2019 +0000"
      },
      "message": "gma registers: Draw usage of Config.Fence_Count into the code\n\nIn case `Config.Fence_Count` is not a constant, we can\u0027t use it to\ndeclare `Fence_Range`. Instead, limit the range throughout the code.\n\nChange-Id: I2ab37f4cd9e6b4d37353ae4fd11d7e5a686d166f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27055\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1ee571400d687a6a2c2139b2dccead2dcfa4fad1",
      "tree": "89e343bf61dbb868232ca91a5adacd08abaada21",
      "parents": [
        "ef3b0939944b9eac06ca9cfafe5256b7f81bd175"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 12:42:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:30:53 2019 +0000"
      },
      "message": "gma broxton power/clocks: Turn pre-condition into code\n\nIn case `Config.Default_CDClk_Freq` is not constant, we have\nto filter it.\n\nChange-Id: I3ccafdc91a6e11fdc565e154f1394598a4572449\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27054\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": "cf88f3d1567cf6475be5ddf3e7a433895a6144a6",
      "tree": "36ab3da2bffd540bfdfbb54e824ae57d6c40fb80",
      "parents": [
        "67cf6d8f2bd36d8f78f48dfb927789d007b7740f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jun 05 13:27:34 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:16:05 2019 +0000"
      },
      "message": "gma: Provide `Global` contracts for public procedures\n\nWe have to enforce a contract on Power_Up_VGA(), as it has no effect\non older hardware generations.\n\nChange-Id: I13af0d90ff738e1eea5f8992718e00a6a09c4705\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/26866\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\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": "f70eddafbc2c6045a14e2f8bbb3273ee738fbaf7",
      "tree": "9f110da02c1a579f3d853b84dfdbd21a3468eb81",
      "parents": [
        "d58de7d2126316fc1afbb84e4d6a26046d2cf1b7"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Tue Aug 21 18:37:00 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Aug 22 10:30:08 2018 +0000"
      },
      "message": "gma pipe_setup: Work around a PFIT_CONTROL quirk on G45\n\nIn legacy VGA mode the pillarbox scaling mode fails to display anything, so just\nalways force \u0027auto\u0027 mode, which will have the output stretched to fullscreen.\n\nChange-Id: Ie7b7be06b5c5bd5569e8a6645dd9359660f7a51a\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/28255\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\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": "7ba7bd64ae6242177496f98a24e280aec1cb1655",
      "tree": "34516d12d6fc73ec5ddc9e032f6f5de64917a5fa",
      "parents": [
        "865f1fa7e4e1420781c125b947e908b7b08568b1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jun 06 12:27:09 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 15 17:08:14 2018 +0000"
      },
      "message": "gma pipe setup: Add missing `pragma Debug`\n\nWe should keep the core functionality free of `HW.Debug`.\n\nChange-Id: Id5fd31b137f5a9da99dc18bcb21535ddfbaf264a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26884\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "865f1fa7e4e1420781c125b947e908b7b08568b1",
      "tree": "c8f65a7c2efcb36425a106b15b73c5874e6c12ad",
      "parents": [
        "c5c767ace8fcd91004474609e6f278018c054f41"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jun 05 12:26:41 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 17:31:54 2018 +0000"
      },
      "message": "gfx: Introduce Size_Type for framebuffer size in bytes\n\nChange-Id: I8809a887b12124e5331f188dfa1674cbcca7152e\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26865\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\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": "da1185eea1dad41b9b15685cbe5eaaf352158d16",
      "tree": "05d31280a43fc3865db4c0ee9dd4d92fcdad214d",
      "parents": [
        "db68441c979d4f3623a0fb6b906683955ff95c66"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 01:07:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 09:15:50 2018 +0000"
      },
      "message": "gfx, gma pipe_setup: Rewrite Scale_Keep_Aspect\n\nUse Scaling_Type() to organize the different scaling cases. Looks better\nand outlining the calculation helps GNATprove on bad days.\n\nChange-Id: I14af765c6f17aeccff3f9274ccec3756493670d7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26848\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "db68441c979d4f3623a0fb6b906683955ff95c66",
      "tree": "c186ebb4b913c5a1fe1036aa19d28795123b074a",
      "parents": [
        "57bebc7110c4f097135f523e8e68af056248e4a7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 22:44:58 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 08:59:35 2018 +0000"
      },
      "message": "gma skylake power/clocks: Refactor to allow proof without inlining\n\nChange-Id: Ie660c69377d8624a3a6662c6ccb7b5e4efcd4629\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26847\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "57bebc7110c4f097135f523e8e68af056248e4a7",
      "tree": "97c1ea1c6dcfc34aaa4a6ac7de97da54bf4aab46",
      "parents": [
        "8a5a3b5a0cdd368c17f103e4f84eff588b50111d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 08:59:02 2018 +0000"
      },
      "message": "gma panel: Refactor to allow proof without inlining\n\nChange-Id: I8ed25efec5ee66d3dd47cec4433a4f634911232a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26846\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "8a5a3b5a0cdd368c17f103e4f84eff588b50111d",
      "tree": "af4dbdf45b42f075312f778a662b8b212d6d69a4",
      "parents": [
        "5a3191f6ef7a01b7a73442b4b6940fd7cf033fba"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 08:58:13 2018 +0000"
      },
      "message": "gma: Add contract to Enable_Output() to rely less on proof inlining\n\nChange-Id: I7bc066b33c969e528c7bcd9328178fac8a37ad21\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26845\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "5a3191f6ef7a01b7a73442b4b6940fd7cf033fba",
      "tree": "fc645d23b8e1a3b73e30604a82881cf71e469a20",
      "parents": [
        "7eb1350b711e513c76a44169fafa22a699b28e03"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:46:21 2018 +0000"
      },
      "message": "gma display probing: Use expression functions for less proof inlining\n\nChange-Id: Ibd10238a3cb5c109dee321ad76ef978465ea7d34\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26844\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7eb1350b711e513c76a44169fafa22a699b28e03",
      "tree": "70f4dcce0992a185a34be57355342e9dc6ecf983",
      "parents": [
        "565f33b23e3e8e223702d07d768f9f2a11dd5686"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:45:28 2018 +0000"
      },
      "message": "edid: Use expression functions to rely less on proof inlining\n\nChange-Id: I7c116762c2b3fa366318b09e60d0e1945057eec6\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26843\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "565f33b23e3e8e223702d07d768f9f2a11dd5686",
      "tree": "895232e2b13e52bc62eed99a3d2aacff96e1a7a0",
      "parents": [
        "b679013ce61fcfae5e33375cc71a757bfa73eb95"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:44:09 2018 +0000"
      },
      "message": "gma broxton: Tighten types to rely less on proof inlining\n\nChange-Id: I2ff61484715461026463be7fbc45c283e75c903b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26842\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b679013ce61fcfae5e33375cc71a757bfa73eb95",
      "tree": "61cbfeda53b4c456bba268e6c9252095042627ed",
      "parents": [
        "718c79bb0713b5b90c9cc44e03197dc777066e3d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:41:01 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:41:53 2018 +0000"
      },
      "message": "gfx: Increase range of Frequency_Type\n\nNew range limits are the minimum and maximum CDClk for Broxton.\n\nChange-Id: I55a77b73ffef90eb08551c49978d020b1cf7eecc\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26841\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "718c79bb0713b5b90c9cc44e03197dc777066e3d",
      "tree": "d8e6657e3773ee9b06197e0f6e1d4c33b8bb4927",
      "parents": [
        "f361ec81e075b3ece15fcb910ec4c96758ce33c2"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Mon Jun 04 15:31:48 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 06 11:04:58 2018 +0000"
      },
      "message": "g45/hw-gfx-gma-gmch-hdmi.adb: Use GMCH_HDMI_MODE_SELECT_DVI\n\nWith GMCH_HDMI_MODE_SELECT_HDMI set the controller will be sending\nnull packets during Vsync. This only works on displays supporting HDMI\noperation, while GMCH_HDMI_MODE_SELECT_DVI ought to work on all\nHDMI/DVI displays.\n\nChange-Id: I75c669b913ef4d5494d78bed55f8e38bba0b0362\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/26833\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "f361ec81e075b3ece15fcb910ec4c96758ce33c2",
      "tree": "f6b0b643a65dc06c822b41fe0cb34e796e02d1fe",
      "parents": [
        "958c5640456afc695e4b05a9a23df3ada14ebdd2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 18:01:45 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:37:04 2018 +0000"
      },
      "message": "gma: Introduce Pipe_Config.Scaler_Available()\n\nG45 provides only a single panel fitter. Therefore, we can only enable\na single pipe that requires scaling. Scaler_Available() tells us if a\npanel fitter is available for a given pipe. We use the result to filter\ninvalid configurations early.\n\nChange-Id: Ie05bfb58318e79edc8ab81598458e620ffdcb2ab\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26768\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "958c5640456afc695e4b05a9a23df3ada14ebdd2",
      "tree": "10d15fd007f7ad37b9f330cfc1ec5b13f7a44ad0",
      "parents": [
        "b217ecebcccae1c5c1414b0bfbbb22302e6c7da5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:59:31 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:38 2018 +0000"
      },
      "message": "gma: Revise scaling on G45\n\nThe G45 panel fitter needs a hint how the resulting image will be boxed\nto keep aspect ratio. As we can\u0027t change the panel fitter configuration\nwhile the pipe is enabled, we always tear the whole pipe down when the\nconfiguration changes.\n\nChange-Id: Ifedc19abbadcbae61892d0051f08592637f90fd7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26767\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b217ecebcccae1c5c1414b0bfbbb22302e6c7da5",
      "tree": "8da848e601c1d921c10f11a56df207a341dbc8bc",
      "parents": [
        "71677460a293b8385a12f10b555c6ca547dee5ec"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:56:35 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:34 2018 +0000"
      },
      "message": "gfx, gma: Add helper to decide scaling aspect\n\nScaling_Type() returns the resulting scaling format, `Letterbox`,\n`Pillarbox`, or `Evenly` when keeping aspect ratio.\n\nChange-Id: I86fb15b03c2f4b55cb00e85b57dc7a64583557d0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26766\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "71677460a293b8385a12f10b555c6ca547dee5ec",
      "tree": "ec1d548686b13d2e608611f1ba39e6d2c361c3e4",
      "parents": [
        "3299ad5e7f70292e365d2b011e6d5695cb6fb469"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:54:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:30 2018 +0000"
      },
      "message": "gfx, gma: Move Requires_Scaling() up into GFX\n\nChange-Id: Ie6f855b128ad6d195e5c0a6fb16a6b9a64422b7b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26765\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "3299ad5e7f70292e365d2b011e6d5695cb6fb469",
      "tree": "ed191d8d08a4902ea74a1c63ec609a12309658a6",
      "parents": [
        "ab69e3613b9e2593395d5b8e7aa928de60c6e45b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:53:39 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:24 2018 +0000"
      },
      "message": "gfx, gma: Move inline functions into private package parts\n\nChange-Id: I3adb9776e87953997a0cd430f366956dfcb2b6f0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26764\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ab69e3613b9e2593395d5b8e7aa928de60c6e45b",
      "tree": "7df2b8cf96284cf62e21f26bc486dddb4a4e7c56",
      "parents": [
        "a63e833af622028e1f7ddf4543f9960a7875a456"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 21:20:30 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:34:10 2018 +0000"
      },
      "message": "gma ironlake..broadwell: Enable X-tiling\n\nGenerations pre Skylake support X-tiling only.\n\nChange-Id: I828e20e2a6bf71c88cf9e23ada0552e2462fe7c1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26697\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "15ffc4fbc841dff9cebf6a7d8c3bd6d56f17d5b1",
      "tree": "d7ddde052651f249fa83f8b8aa99cec3a1e6066a",
      "parents": [
        "4dc4c61a4ab4e1903b97fc52c0c3809fa43cda56"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Jan 11 14:44:43 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:57 2018 +0000"
      },
      "message": "gma: Add interface functions to update/place/move cursor\n\nAdd Update_Cursor() that allows updates to all cursor parameters,\nPlace_Cursor() and Move_Cursor() to update the position only.\n\nChange-Id: I6e97442847ea42662214390d80aaf634a4b1ab5a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/23216\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\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": "7a740439ed7b301ab30291ece19b63083ed90e79",
      "tree": "a3108ce580850f468992f0345f07a1f76902ea61",
      "parents": [
        "abb16d98d6140936e84e767b2df6a9cdc3e486dc"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 30 13:58:27 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:39 2018 +0000"
      },
      "message": "Rename Pos_Type --\u003e Position_Type\n\nYet after few months, it\u0027s already too confusing to me. Let\u0027s reserve\n`Pos` for `Positive` and spell out `Position`.\n\nChange-Id: I3445d20665ae6a993cb0e46d08e8f3148abef40e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26696\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "abb16d98d6140936e84e767b2df6a9cdc3e486dc",
      "tree": "d9d4fa4012d8502218bb2a3283fb9e3f2cd26db7",
      "parents": [
        "3d06de825053c45f9fdb413b72f3174809533a51"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 01:44:26 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:36 2018 +0000"
      },
      "message": "gma hsw transcoder: Choose PDW path for scaling on DDI A\n\nIf scaling is required, always drive DDI A through the Power Down Well\n(PDW) path. If not, keep the current \"always on\" path to allow power\nsaving.\n\nHopefully, this also enables us to use the eDP in legacy VGA text mode.\n\nChange-Id: Ia9135d253083d363872c7cf0b3e2b5b69ba0831f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26664\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": "fdb0df1d8d82101eeba70cc64016e41834dfa6a5",
      "tree": "23e9701544519fdf57e3d5ade880e586b44f3304",
      "parents": [
        "a455f0e5aef708221c7cfad025a3d01893736979"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 07 14:30:34 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:59 2018 +0000"
      },
      "message": "gma: Fix Ironlake panel fitting\n\nHardware doesn\u0027t like minimal horizontal gaps. Scale to full width if\nthe difference is at most three pixels.\n\nAlso, don\u0027t scale to odd widths. At least Haswell doesn\u0027t like it.\n\nChange-Id: Ic1484eda0f6022cd8a37611fdfb9d2c50b390b72\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26647\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f7f537e714ffa3fe31a4d6a3e46310fe22f2ced7",
      "tree": "a5d1762ba2b742c835af6b3ed37616546861aee8",
      "parents": [
        "8fd92a10c5a297b09b0ded544af8136a8ecccdaa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 14:15:43 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:21 2018 +0000"
      },
      "message": "gma pipe_setup: Replace Update_Offset() with Setup_FB()\n\nBeside updates to the framebuffer offset in memory, Setup_FB() allows\nchanges to size, position, tiling and rotation, too. Basically every-\nthing but changes to BPC (which would need an update in the transcoder\nconfiguration on pre-Broadwell hardware, too).\n\nIt is not clear if the updates work fully synchronous on all hardware\ngenerations. Though, tests on APL have shown a glitch free transition\nso far.\n\nChange-Id: I3c8352315390d9c4d2fb2a7e09355b5fe4089421\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23165\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "8fd92a10c5a297b09b0ded544af8136a8ecccdaa",
      "tree": "6fef943a64ae205a27fab7ef41c4170f813a3bc5",
      "parents": [
        "cbbaade460c23a04d4f9641e0e92afae9ddd12ec"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 14:02:59 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:12 2018 +0000"
      },
      "message": "gma pipe_setup: Write DSPSURF register last\n\nThe surface register arms the other plane registers for a synchronous\nupdate and should be written last.\n\nChange-Id: I723cdf7e319c62004d3c4db80959d8b14f553ff6\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23164\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "cbbaade460c23a04d4f9641e0e92afae9ddd12ec",
      "tree": "7fdb2f58f11fe4bbb6c007971d83d064baeb431d",
      "parents": [
        "b4b72794bab8523128befdb4bf4266b79413332a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 13:59:36 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:04 2018 +0000"
      },
      "message": "gma config_helpers: Pass only the modeline to Validate_Config()\n\nValidate_Config() had the full `Port_Config` as parameter, though we\nonly accessed the modeline. Make that explicit so we can also call it\nwhen we don\u0027t have the full config available.\n\nChange-Id: Ia4620d1ffa1a3cd098d721d84f2453f2dc19da2a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23163\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b4b72794bab8523128befdb4bf4266b79413332a",
      "tree": "0298c19dc453c46c18089a8c7ba5859fb3228c7c",
      "parents": [
        "5ef4d605c0f0cdd46d9361ead6df849ea8a17811"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 13:45:41 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:36:57 2018 +0000"
      },
      "message": "gma pipe_setup: Explicitly disable panel fitter if unused\n\nWe assumed that the panel fitter (or pipe scaler) is already turned off\nby default. But that won\u0027t be true if we only update the framebuffer\nconfiguration without resetting the whole pipe.\n\nChange-Id: I442d2a6a553d5d91187a4d09c8bc5fdd693eb4f4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23162\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "5ef4d605c0f0cdd46d9361ead6df849ea8a17811",
      "tree": "7a6a95e377fcdfb349b8610b2c43845e393bba65",
      "parents": [
        "34be6547c8dc24aa9c8b406bb1fc8d8fcd118a44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 13:56:47 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:36:45 2018 +0000"
      },
      "message": "Add Start_X and Start_Y offsets for framebuffer panning\n\nFor tiled modes, the offsets add to the stride. To keep things simple,\nwe always assume that they are accounted for (even in linear mode).\n\nTo make the panning visible, the offsets are added in `gfx_test` and\nthe test image is drawn larger by two times the offsets. Also add the\nnew parameters to Dump_Configs() along with the forgotten tiling and\nrotation parameters.\n\nChange-Id: I5d1e1f2ed8b1872a2b82be23a6a622d948f7831f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22866\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "34be6547c8dc24aa9c8b406bb1fc8d8fcd118a44",
      "tree": "f156261eb54735ebd7e659ba7bd063a426cd68ed",
      "parents": [
        "98a673dc57d90cc79e64c53bd02cfcc1c48ea1aa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 09:26:24 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:36:14 2018 +0000"
      },
      "message": "gma: Reverse meaning of GTT_Rotation_Offset\n\nWe used to add the second mapping for a 90 degree rotated frame-\nbuffer at `FB.Offset + GTT_Rotation_Offset` and patched the offset\nwhen configuring the pipe. Instead, we expect the final offset in\n`FB.Offset` (which should include `GTT_Rotation_Offset` when using\nthe default framebuffer setup.\n\nChange-Id: I321a3db3af4b21eefbfc1bf0c2a7005feaf83c7a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22864\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "98a673dc57d90cc79e64c53bd02cfcc1c48ea1aa",
      "tree": "65c02aea4eadd06815de6bc956df3446ec9b8309",
      "parents": [
        "60d0e5f9f62fe082c3884e1d2795385fe343a98e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 15 23:46:16 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat May 19 20:38:15 2018 +0000"
      },
      "message": "gma ddi: Move conditionally used Program_Buffer_Translations()\n\nWhen compiled for Broxton, Buffers.Translations() is a stub and GCC 8\ncorrectly identifies the use of unitialized fields. However, it can\u0027t\nsee that it\u0027s never called in that case. Draw the definition of\nProgram_Buffer_Translations() inside the respective `if` to make that\nclear.\n\nChange-Id: I8edbb8ac9249d76465d1cd07526fb6eeef0618e1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26305\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "60d0e5f9f62fe082c3884e1d2795385fe343a98e",
      "tree": "6a98fd9ff3f0f265932a19cdaaee35ca826c2f06",
      "parents": [
        "e87d0d1e2b0dc8d53a16eb2a16bdac7de44e1b28"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:08:27 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:01:30 2018 +0000"
      },
      "message": "gma: Add Pipe_Index to the Connectors.Post_On method\n\nOn GMCH targets the Pipe index needs to be programmed in the output\nregister.\n\nChange-Id: I6a614a9359c95adb59a1b6d0e34febe302fcfbf8\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25410\nReviewed-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": "5d08a93cb9ebe2a411561dd9c635f7a066e2b5d1",
      "tree": "84f48f5c17ee092f4f1f73bdbeb2635282e7e762",
      "parents": [
        "636390ca01e7ecd6c53c1db60a6b97685bb5483e"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:00:18 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:00:26 2018 +0000"
      },
      "message": "gma: Add GPU_Port types that are convenient for GMCH to use\n\nChange-Id: I9120d084637d36a7e2276fcf3f630b3f7ed32509\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25407\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": "b7470499e80e1910ff078a55ac46a097b7f0c903",
      "tree": "ec60955a5f3a7221ddb22ccd93c03409683b7b6c",
      "parents": [
        "0164b024a6b6cff64c41c3b68fd93a925753f38d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Nov 30 14:48:35 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:31 2017 +0000"
      },
      "message": "Add Rotation setting to Framebuffer\n\nAdd a Rotation setting to the Framebuffer type that tells us if the\nframebuffer is rotated by 90, 180 or 270 degrees. The hardware should\nrotate the picture in the opposite direction before display.\n\nTo support more complex memory layouts, we also add a V_Stride (ver-\ntical stride) setting.\n\nChange-Id: I6430fb44b5c9cfcf9fa58684a425e8c2e4647ac3\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/22710\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "0164b024a6b6cff64c41c3b68fd93a925753f38d",
      "tree": "02ebcb40b55ce672a3a093e712eddbf8863f811d",
      "parents": [
        "b03c8f19ae0d7e1f9f27ff258e72a37dfb87f323"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Aug 24 15:12:51 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:03 2017 +0000"
      },
      "message": "gma: Set tiled framebuffers up through Plane_Control\n\nOn platforms with Plane_Control registers (Broxton/Skylake+) we can\nuse X and Y tiled framebuffers for scanout (older platforms support\nX tiling only). As our main use case is 90° rotation with Y tiled\nframebuffers, we implement it for the newer platforms only for now.\n\nWe also set up a fence register for linear access to the tiled frame-\nbuffer through the aperture.\n\nChange-Id: I913c82f62fd28b681a06ce13f41160a07e559799\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22709\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": "51375ad75a99d395f3843e46783c0743b5fea29b",
      "tree": "e331ac757e54adeee16b8c9c42c4c3332a00e27a",
      "parents": [
        "e7ac6ebddc771fb7262c5f15decd617deea1bb50"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Aug 24 14:44:06 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:04:43 2017 +0000"
      },
      "message": "Add Tiling setting to Framebuffer\n\nBeside linear framebuffers, we can, on Intel hardware, easily support X\nand Y tiled framebuffers too. If we access the framebuffer through the\naperture window, we can let the hardware handle the tiling.\n\nTiling generally divides the framebuffer into rectangular pieces of\nfixed size where each piece, or tile, is represented by one page of\nmemory. Even inside one tile, the pixels are not always ordered linearly\nbut either in a row-major (aka. X tiled) or column-major (aka. Y tiled)\nmanner.\n\nChange-Id: I3e6f93caa8f2485a5792d72cfe2e8b3902add7a3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22707\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\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": "5fd9a319684f71fa6f4dcb77ce8bc9337f5695b7",
      "tree": "91c7ec3552b2256c0a8c365db6ceed322587430f",
      "parents": [
        "3b654a0991f1a499a754dd638f57f6d75c89b78e"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Tue Sep 12 12:45:18 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 18 20:45:31 2017 +0000"
      },
      "message": "gma: Fix decoding the size of Stolen Memory on Gen4\n\nThe size of stolen memory needs to be decoded in MiB.\n\nChange-Id: I1ceb9ffd85d6ebb54a0e099e200a5068c34a6251\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/21514\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    }
  ],
  "next": "42fb2d065d604eb08c723ac6b96aeebb4c84cbd3"
}
