)]}'
{
  "log": [
    {
      "commit": "2e87c0d40a387c5b1f1afd3ce61ecdc7dad0e3e8",
      "tree": "3bf6c4ccefca7193eaa1474f4151033aa3935cfc",
      "parents": [
        "cdbfce275777f2fd142e3a3c73469807a4c40207"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Apr 18 00:46:39 2020 +0200"
      },
      "committer": {
        "name": "Matt DeVillier",
        "email": "matt.devillier@gmail.com",
        "time": "Fri May 08 21:40:53 2020 +0000"
      },
      "message": "gma: Map dummy PTEs for buggy VT-d\n\nExtend Setup_Default_GTT() to add 128 dummy page table entries\nafter the framebuffer. Apparently the IOMMU may report spurious\ntype 6 errors if nothing is mapped in this range. Also check for\ncorrect alignment of the start of the framebuffer and that the\nadditonal PTEs fit into the GTT.\n\nWithout such dummy entries, an OS driver might report failed\nreads at random addresses. It may or may not look like this:\n\n    DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr\\\n    5669eb8000 [fault reason 06] PTE Read access is not set\n\nChange-Id: I1b97c6b44c1ffb37d119541c1c97ffe21d244da8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/40499\nReviewed-by: Michael Niewöhner\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\n"
    },
    {
      "commit": "5dbaf4bb1d30b27f5b8988a28820beda48f3a46c",
      "tree": "11b5b8a98dec8d5e8fe11c9668e524fef5b6e578",
      "parents": [
        "1f63d51dc055276fa1a0f3552bf1bfc1a07ad8bb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 08 17:24:58 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:15:41 2020 +0000"
      },
      "message": "gma bxt panel: Allow to use secondary panel control logic\n\nBroxton has control logic for two panels. Reflect that.\n\nFlow analysis fails if we initialize globals in Setup_PP_Sequencer.\nHence, move the call to Static_Init out.\n\nChange-Id: Ie84d21a07a0f064f993a54b277e051b8d1ca541c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38276\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "2bbd6e7c6044d7c3fb5607834d00e4e7d83a2ada",
      "tree": "9d39e3333feda6885ff63692c935e4ac114fb3a3",
      "parents": [
        "8a6e7bd43caef134bcb9616da9be3b4344850123"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 18:22:59 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:18 2020 +0000"
      },
      "message": "gma panel: Introduce `Panel_Control` type\n\nFor now, `Panel_Control` only distinguishes `Panel_1` from `No_Panel`,\ni.e. if a port has a panel attached or not. To ease future addition of\nsupport for more than one panel, we already add loops and arrays around\nit, though.\n\nWith the information, if a port has a panel attached, in `Port_Config`,\nwe can pass that on into Panel.* procedures and let those decide what\nto do (e.g. do nothing if no panel is attached).\n\nChange-Id: I83864bc86b48f65d9ba43e083b805ca09497cbb0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38243\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "8beafd74958561988d29ba0897e057d4f3204a27",
      "tree": "1676c1e615c4714b9c2394ffd8bf1260ed73b7da",
      "parents": [
        "fe7985f2a0692bc773d470a92ec54d22d3c12e4b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 14:59:44 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:05 2020 +0000"
      },
      "message": "gma: Split `Internal` port type into `eDP` \u0026 `LVDS`\n\nWe used to have a single type `Internal`, in the GMA interface, to\nrepresent the port for any internal panel. This seemed suitable as\nall mainboard targets used the additional panel logic (power se-\nquencing, backlight) only with either one of the eDP and LVDS ports.\n\nHowever, the hardware allows to combine the panel logic also with\nother ports. And some of the regular DP ports are even mentioned as\nalternatives to the dedicated eDP port.\n\nAs a first step towards supporting such less common combinations,\nwe get rid of the single `Internal` type. All the panel logic still\nassumes that either the dedicated eDP or the LVDS port is used for\nan internal display. We introduce `Internal_Port_Type` to represent\neDP and LVDS, for this. But it should vanish, once the panel logic\nis adapted.\n\nChange-Id: Iadf3c11bd35d085cf47a961e800b0d96b79f62f5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38239\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "fe7985f2a0692bc773d470a92ec54d22d3c12e4b",
      "tree": "b2b48169105a807ed34b5db98fd5de6ea105bab6",
      "parents": [
        "a563ec22ad68d4ac516caf39431c8dbbebf2b430"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 12 22:19:24 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:48:20 2019 +0000"
      },
      "message": "gma: Fix GTT size reading for Gen8+\n\nIt seems the GTT size is not given in MiB any more but as a power\nof 2 of MiB.\n\nChange-Id: I13e40ad1d389d389c6fab6b2b42895179649f6da\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35999\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b0bbdbc215e3d197441a30f3b2fae4714decd38b",
      "tree": "db7a0ac45dc47f88b68f5789b6acc844ead51636",
      "parents": [
        "8469b0089aa06fe196e23a2853d81d661cd21de8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Sep 27 22:32:21 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:40:42 2019 +0000"
      },
      "message": "gma: Automatically update CDClk and dot clocks\n\nDot clocks should be limited, depending on CDClk. This comes with a\ncaveat: if a display only works at a specific refresh rate, we will\nlikely fail without knowing. It seems to be better, though, to try\nat least. We can implement a config switch controlling this beha-\nviour, later, if needed.\n\nIf we can raise / lower CDClk with a given set of dot clocks, we\nhave to disable all pipes first, then switch CDClk, and finally\nenable all pipes with their new configuration.\n\nCalling Update_Outputs() with all pipe configs disabled may disable\nthe CDClk. So we have to ensure it is enabled when trying to probe\nfor displays.\n\nChange-Id: I375f2bd37c921cd5ed4b0094247df5a34a087188\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35719\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "e317e9c31cef31f960a5cfb3e3247047d39ae7a1",
      "tree": "e995dd0feb54d1897d5e02b068d0838deb1ee493",
      "parents": [
        "c5c66ecf12c51600a20aac257394fd7f13d25113"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 03:03:18 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:18:44 2019 +0000"
      },
      "message": "gma: Merge `Config_State` into `State`\n\nTreating `Config_State` separately was merely cosmetic and caused\nlots of trouble. Its usage depends heavily on the selected plat-\nform. Hence, `Global` contracts were not stable across different\nconfigurations.\n\nLet\u0027s avoid the annotation mess that it brought us and merge it\ninto `State`.\n\nChange-Id: Ie28ccfc7ffbe08e0b3fe343d9e6df2420611834e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35713\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "42fb2d065d604eb08c723ac6b96aeebb4c84cbd3",
      "tree": "d7d3fff2573ed3d9288fc65c24fc155476f4f301",
      "parents": [
        "3a0e2a08f5489f3bb5c6e9f97b903e6e10c31a6c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Sep 01 17:01:51 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 04 12:51:16 2017 +0000"
      },
      "message": "gma: Add procedure to power up legacy VGA block\n\nCalling this is necessary for VGA text mode on at least Skylake, where\nthe legacy VGA registers are inaccessible otherwise.\n\nChange-Id: I48ba1738bcc7babd4e666e5266f775dcd06b2a3f\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/21323\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "3a0e2a08f5489f3bb5c6e9f97b903e6e10c31a6c",
      "tree": "b8cb4de27f1fad5e9e49ef515c2f190213db0bba",
      "parents": [
        "8540805c2900f3f7b40dfc2c520d66c96368e0f7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jul 19 14:41:46 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Aug 30 15:14:08 2017 +0000"
      },
      "message": "gma skl: Disable DDI clocks on reset path\n\nAfter reset DPLL_CTRL2 is initialized to 0. Which means some clock\ndisable bits are not set and might cause some hassle later. Set them\nand close the related TODO.\n\nChange-Id: I1a470dff55e317e8119906b3e397f6f2314abcbd\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20648\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c3f66f635352be8f49da55f2727a6fc3093d7e62",
      "tree": "940762e41ca5c9f1022e823f4246bc96ce03c8df",
      "parents": [
        "eedde88f4354d6c90c0c0f8ed1e166d1bd17a18a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 16 21:39:54 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:11:58 2017 +0000"
      },
      "message": "gma: Add Map_Linear_FB()\n\nChange-Id: Ia8850256b3a679e3b76567a6e3146e4c3dc38960\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20609\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "eedde88f4354d6c90c0c0f8ed1e166d1bd17a18a",
      "tree": "6fd20b2fe2797afc7133cd6ac430f6ebf9eba989",
      "parents": [
        "5374c3ac834b27d75b96c93a90465cae8d861c30"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 16 02:54:39 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:11:55 2017 +0000"
      },
      "message": "gma: Check that framebuffer fits stolen memory and aperture\n\nChange-Id: I92bd42e4a838832999a6d6fa795a8015d9896a12\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20605\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "5374c3ac834b27d75b96c93a90465cae8d861c30",
      "tree": "422655a5e78f9fc6a272265ab184d9f9c05033d3",
      "parents": [
        "194e57e6255b5ae47ef5ee2376027b999dea33a0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 15 21:48:06 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:11:50 2017 +0000"
      },
      "message": "gma: Add Setup_Default_FB()\n\nAdd new public procedure Setup_Default_FB() to configure a framebuffer\nin stolen memory. The optional parameter `Clear` tells it to clear the\nconfigured framebuffer.\n\nAlso remove Setup_Default_GTT() from the public interface.\n\nChange-Id: I6ece4f56bbd34126ef34f0107d5ccdbde8a007ac\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20603\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "194e57e6255b5ae47ef5ee2376027b999dea33a0",
      "tree": "1b918764b5412f838cf6c9249ae170cedd43ee66",
      "parents": [
        "bebca13b4d5eb4a3458ee63218fed05ca8ddf6aa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 15 21:15:46 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:11:28 2017 +0000"
      },
      "message": "gma: Allow offsets /\u003d 0 in Setup_Default_GTT()\n\nHonor the `Offset` field of the given framebuffer and add preconditions\nthat ensure we won\u0027t overflow the GTT or its target address space.\n\nChange-Id: I6577e98e154610228734baee7674ee54b9a922e8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20602\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "bebca13b4d5eb4a3458ee63218fed05ca8ddf6aa",
      "tree": "42e011ac33ae44447699d9924ac63a49e0e7b5df",
      "parents": [
        "e015e82affe6bb2ef09a5af7867ecc07c20c82ed"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 12 23:04:46 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:11:16 2017 +0000"
      },
      "message": "gma: Move a warning justification to spec\n\nMakes us compatible with SPARK 2017.\n\nChange-Id: Ie325b913e329ceb522a320c76f1cccf512e5b79f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20170\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "e015e82affe6bb2ef09a5af7867ecc07c20c82ed",
      "tree": "3094f72328ce989e49efc20086cd9e3c8e88bf00",
      "parents": [
        "17d64b6d0195109623b136493a9c7380008743d3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Aug 25 20:12:09 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:11:13 2017 +0000"
      },
      "message": "gma: Fix refined contract of Initialize()\n\nTo be compatible with HW.PCI.Dev implementations that do actual register\naccesses, we have to account for hardware state updates.\n\nChange-Id: I86e42163d7847f7011bcf9a0ef5c2c7f25b4b1be\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21207\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "17d64b6d0195109623b136493a9c7380008743d3",
      "tree": "c6b0267cc9d3c2ba26d3136baec8dbd54678488a",
      "parents": [
        "2b6f6992188460bbb10ce2838a981ddc37141755"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 15 20:51:25 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 21 10:56:43 2017 +0000"
      },
      "message": "gma: Clear \"fence\" registers during initialization\n\nThese registers are used to mark certain GTT regions as tiled.\n\nChange-Id: Ic2cd61c0c1b42990ed955d7f77a428a2b9dbabd5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20601\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "2b6f6992188460bbb10ce2838a981ddc37141755",
      "tree": "e744d7d06e1414a4d089fd6f7c2849ea15286045",
      "parents": [
        "b8ae61876b8ddbf788f2168c87c8fce8dbaad0e3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 09 18:11:34 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 21 10:56:15 2017 +0000"
      },
      "message": "gma: Add a HW.PCI.Dev for dynamic MMIO setup\n\nRemove `MMIO_Base` option from Initialize() and try to derive it\nusing libhwbase\u0027 PCI mechanism instead.\n\nChange-Id: Iacd4d098954bb96c1c6b40fdfb2636191d9517c7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20600\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "0923b795fe51df4431061fa8b44d975aa8027f52",
      "tree": "d6fef218da29151f483b9ae1eb7fb4f86bab6f5f",
      "parents": [
        "fb4f8ce26a05c2304367c066b806519941658373"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jun 09 15:28:41 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jul 25 20:14:32 2017 +0000"
      },
      "message": "gma-connectors: Add Initialize() procedure\n\nChange-Id: I62946152da9a93b881e0b0ea4b2679086ec8e970\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20128\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\n"
    },
    {
      "commit": "1c3b9285ceb3ff7bbb6dab8d9805ca3bda9d0ff3",
      "tree": "78a2fe0e2c18db7ad8bfd5bd81bee78ddb2f661a",
      "parents": [
        "fdd93659e03396051940988de328f28cdb7d448c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Feb 09 13:57:04 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 03 15:24:28 2017 +0200"
      },
      "message": "gma broxton: Add final glue\n\nAdd new configuration flags for Broxton and hook up its DDI_Phy\nimplementation in the shared Haswell DDI code. Haswell and Skylake\nget DDI_Phy stubs.\n\nTested (in Linux userspace) on ASRock J3455-ITX which exposes the\nfollowing ports:\n  o VGA through an active eDP to VGA converter chip\n  o HDMI 2.0 through an active DP to HDMI converter chip\n  o DVI-D connected to the SoC\n\nChange-Id: If72b228c6a4c45487261e6e7435d281ec2d97f38\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18426\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "21da5741378af7c9f8db23b55aa316a905ae9183",
      "tree": "64d43912915ee62a2ff6953dbe7270e2c61acf02",
      "parents": [
        "b83107c60fbabfaf8db02a506fb4693b90363691"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jan 20 14:00:53 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 03 15:19:33 2017 +0200"
      },
      "message": "gma: Add config plus stubs for Broxton SoC\n\nCurrent plan is to support all DDI outputs of Apollo Lake. This\nincludes one eDP (DDI A) and two fully fledged DDIs (B, C) that can\nbe either configured to DP 1.2 or HDMI 1.4. MIPI/DSI outputs won\u0027t\nbe supported for now.\n\nSince there doesn\u0027t exist any public documentation, the code will be\nsolely based on analysis of Linux\u0027 i915 driver.\n\nEverything is a stub. In the existing code, at least DDI configu-\nration will also have to be adapted.\n\nv2: Escape hash characters in config file\n\nChange-Id: I4a79d4531d238049ba00ab4f03e270e6b58f81ab\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18421\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b83107c60fbabfaf8db02a506fb4693b90363691",
      "tree": "1f24fc326dea521547e1e46784c62b562efa689d",
      "parents": [
        "799752fd03c77f2d449352eac16c6c33391dc2fa"
      ],
      "author": {
        "name": "Paul Menzel",
        "email": "paulepanter@users.sourceforge.net",
        "time": "Thu May 04 09:02:33 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu May 04 15:45:49 2017 +0200"
      },
      "message": "common/hw-gfx-gma: Remove trailing space in debug output\n\nLooking at the logs in the coreboot board status repository, there is a\ntrailing space in the debug output. Remove that.\n\nChange-Id: Ib24ebbfa756147c8561df2e9247ed0e2cea29b13\nSigned-off-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-on: https://review.coreboot.org/19563\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "4798c6629ca40a277b7ce7979f48b1a341edb04b",
      "tree": "cc43f9a129c898a5735219f6ba6e65240dc2f62b",
      "parents": [
        "564103f4cc8aa4ca747d7d1bdf5f4e56efb53478"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 11 12:44:48 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 18:53:24 2017 +0100"
      },
      "message": "gma: Always clear hot-plug events before enabling a pipe\n\nFor cold plugging, we don\u0027t wait for a hot-plug event. But, even if we\nare not supposed to wait for a hot-plug event, we have to clear any\npending event. Also, a failed DP training can result in another hot-plug\nevent.\n\nA stale event would be spuriously interpreted as a disconnect, resul-\nting in an infinite loop of cycling the pipe on and off.\n\nChange-Id: I4c7bbe0ac792553c94e928ba0a5eeb822a857f9c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18122\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "564103f4cc8aa4ca747d7d1bdf5f4e56efb53478",
      "tree": "6bf22454c14e2085deecf03784f75bea4c549572",
      "parents": [
        "b56b9c5e02a12c62d3431e4284fc21d8a72d88e5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 11 15:33:07 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 18:51:57 2017 +0100"
      },
      "message": "gma: Rework power handling in Update_Outputs()\n\nWe should also reevaluate power settings, when we only disabled pipes\nand didn\u0027t enable any new outputs.\n\nChange-Id: Ia81454bdeb770359b1d95e02f6f3d75e76584857\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18121\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b56b9c5e02a12c62d3431e4284fc21d8a72d88e5",
      "tree": "8c2d01ddb9f82fa88560843d523453cd64eecc1c",
      "parents": [
        "3be61d4f7e79907db981d67e620e0b10ee49181e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 11 15:12:23 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 18:51:03 2017 +0100"
      },
      "message": "gma: Disable all stale pipes before enabling any new\n\nTo support arbitrary configuration changes, we have to disable all\nchanged pipes first before we enable any new outputs.\n\nCurrently if an output moved from one pipe to another we might have\nenabled it twice on different pipes.\n\nChange-Id: Ibf601b8b5044aff4dd9e0a9c15cec20db6907aa5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18120\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "3be61d4f7e79907db981d67e620e0b10ee49181e",
      "tree": "3394fa7c80e93e75ffa1cc3eda57c411b4ecd585",
      "parents": [
        "43370ba02a5907152d4849ea02fe622a409580d5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 09 13:58:18 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 18:50:54 2017 +0100"
      },
      "message": "gma: Refactor Hotplug_Detect() interface and usage\n\nChecking for hotplug events should be done before any other work to\nreduce load and (spurious) debug output. Therefor, use the simpler\n`Port_Type` in the interface of `Hotplug_Detect()` so we don\u0027t have to\nfill the whole `Port_Cfg` before checking for events.\n\nAlso, now that it\u0027s possible, factor the disabling of a single output\nout of `Update_Outputs()`.\n\nChange-Id: I2a0ba5530c8d511fa95f9cac12297ad428a40d77\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18119\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "43370ba02a5907152d4849ea02fe622a409580d5",
      "tree": "1e08866cc136994a64c83400c539a77076f42919",
      "parents": [
        "1a712d3110e58b415d43121007cd9ee413f4acbb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 09 15:26:19 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 18:50:45 2017 +0100"
      },
      "message": "gma: Factor enabling of a single pipe out of Update_Outputs()\n\nTo make the flow easier to follow for both, human readers and analysis\ntools.\n\nChange-Id: I188fcc28b0b39d64e866b08ebe47737f5f22fd63\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18118\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "1a712d3110e58b415d43121007cd9ee413f4acbb",
      "tree": "c45f5a360db9b7137f29341c03695ea2ba9677e4",
      "parents": [
        "af9cc9e7783526addc5b3e7c52c44b0d290c02af"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 09 15:11:04 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 15:03:24 2017 +0100"
      },
      "message": "gma: Drop state tracking of active `DP_Links`\n\nThe only time these settings are referenced is when we are about to\ntear down a pipe. But we don\u0027t need the current state to do this. On\nretraining due to a hotplug event, we start the whole configuration\nagain for simplicity. So we won\u0027t need it on that path either.\n\nChange-Id: I01662e4a4a6150a0b05c57a016171fa3f0e7b93a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18117\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "6e327c9bc1aff9b0fca91de7517fdfc5f14562ed",
      "tree": "c98eb2b9b61481804bd83dcf57bdb244002c0fd2",
      "parents": [
        "7ad2d6569640f2f18b736fbf372ffb9aea5bed27"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Dec 21 14:45:45 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 14:57:44 2017 +0100"
      },
      "message": "gma: Get rid of Get_Pipe_Hint()\n\nNow that we call it `Pipe_Index` passing that around makes more sense.\n\nChange-Id: I59460274860dc5d135662aa978acc1603b510eb6\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17932\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "7ad2d6569640f2f18b736fbf372ffb9aea5bed27",
      "tree": "9d107b97b846924b40f7e202de1ff1a17b8d99a8",
      "parents": [
        "113a14bd5a3e96225c1717a09a578a434385592e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Dec 07 15:19:32 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 14:57:21 2017 +0100"
      },
      "message": "gma: Move transcoder setup into own package\n\nSplit the transcoder setup out of `Pipe_Setup` into a new package\n`Transcoder`. This comes closer to how Intel\u0027s manuals describe the\nhardware.\n\nAlso rework the related constant definitions to make things more\nhuman readable.\n\nChange-Id: Ife0f0d635d87b874d4b713a00ca7a1bec688c672\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17764\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "33912aa2a409416451e5e2d8eee05dc17212004d",
      "tree": "5e94fc767cefb263821ed57e4cc406846c0fceac",
      "parents": [
        "f3e23668c6e2f0179d8c6dc81e7ba23e8a5e9869"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 06 20:36:23 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 14 12:51:29 2017 +0100"
      },
      "message": "gma: Move Legacy_VGA_Off() into Pipe_Setup\n\nIt\u0027s about the VGA plane and thus belongs into Pipe_Setup.\n\nChange-Id: I2f59b027c47c06b01f36695c517ed0847617a472\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17762\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "f3e23668c6e2f0179d8c6dc81e7ba23e8a5e9869",
      "tree": "de290c2dbc0b9ce2688dc370dc2cc8f2eeeb417e",
      "parents": [
        "02cfbb3df00cd346877a258e2ee54f78ae0e0e16"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 05 21:33:03 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 14 12:49:42 2017 +0100"
      },
      "message": "gma: Move pipe/transcoder register selection into Pipe_Setup\n\nThe mapping from configuration indices to the pipes is implicit now\nand thus dropped.\n\nChange-Id: Ia708c2c06667bc221436aaf9ed39265df2768a24\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17761\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "793a8d49affaaba2a3ef725fd0202ebaff37c888",
      "tree": "067ca410826c1ee29e501559d0dcf5c6d570f696",
      "parents": [
        "6a4dfc89a75a492fde715d2062c3ee438357c945"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 21 18:57:03 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 08 17:06:58 2017 +0100"
      },
      "message": "gma: Make cleaning the hardware state optional\n\nIn Initialize(), the state of the graphics hardware is reset to a\nknown state (i.e. everything is turned off first). That\u0027s unnecessary\nin the coreboot case where we just came out of reset. Thus, make the\nstate cleaning optional with a `Clean_State` parameter that defaults\nto `False`.\n\nChange-Id: Ifee6ec9e9876fca8a715684718014917a3e35879\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17758\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\n"
    },
    {
      "commit": "8c45bcfc4d024c866e4c2b92b1768b413ec8be9c",
      "tree": "dfcfa082dcf1ab6dc31ccf9a50a9ed4a08c8539c",
      "parents": [
        "3c544eeb50590b2bbc69f04725b279ec96a4b2fa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 17:30:57 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 01 17:36:07 2017 +0100"
      },
      "message": "gma: Split out config derivation and port probing\n\nThe GMA package has grown way too big. Move derivation of the internal\nconfiguration into new package `Config_Helpers`, EDID probing into new\npackage `Display_Probing`.\n\nChange-Id: Ib49ac7b00367be4295d18dba3afd1a0692e0497f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17757\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "3c544eeb50590b2bbc69f04725b279ec96a4b2fa",
      "tree": "41da4546fce3638382feef931c4b76fdc4755437",
      "parents": [
        "6b7a40b94ca3b9d77a6cb2d262ed763a6bba3012"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 04:56:58 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 01 17:34:54 2017 +0100"
      },
      "message": "gma: Refactor Port_Config derivation\n\nMostly renaming and some type tightening. Move the call to\nConfigure_FDI_Link() into Fill_Port_Config() as it\u0027s part of the\nPort_Config.\n\nAlso start to document some procedures. The whole high-level con-\nfiguration is driven by non-obvious software-design choices, and\nthus isn\u0027t self-explanatory even if you know the hardware.\n\nChange-Id: Ib6a0893333e9359776140ed9de110f54cf36f6e5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17756\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "6b7a40b94ca3b9d77a6cb2d262ed763a6bba3012",
      "tree": "19548438d80ae32b7b52470c84db163f85ad9083",
      "parents": [
        "845de36df97e67e94ffb551840c2c0dc1e1fabdd"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 21 14:14:02 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 01 17:34:25 2017 +0100"
      },
      "message": "gma: Probe sibling ports for improper connected displays\n\nIf an HDMI/DP display is detected, probe the sibling port that shares\nphysical pins too and bail out if something is detected. This is a\nprecaution for adapters that expose the pins of a port for both HDMI/\nDVI and DP (like some ThinkPad docks). A user might have attached both\nby accident and there are rumors of displays that got fried by apply-\ning the wrong signal.\n\nChange-Id: I276ad55a353d60389bc36724d8af37b158ae4599\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17755\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "845de36df97e67e94ffb551840c2c0dc1e1fabdd",
      "tree": "19a41d4759dadcbf455adb38520b74e2e43fbad4",
      "parents": [
        "1b2c9a3a0c0c8dfaa539baf5db1c76ef16c317c9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 21 14:00:06 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 01 17:29:13 2017 +0100"
      },
      "message": "gma: Do not probe EDID if a port\u0027s sibling is configured\n\nDP and HDMI ports share physical pins. We can skip the probing of a\nport if the other is already configured.\n\nChange-Id: Iff2dcab969b607be900f8569affee5e1d288caba\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17754\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1b2c9a3a0c0c8dfaa539baf5db1c76ef16c317c9",
      "tree": "835aa42dffc90db437dbb4a1061b3ca794242b45",
      "parents": [
        "995436b6ba33b7682356b06cfa7a034d5adc5cfe"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 03:42:08 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:58:54 2016 +0100"
      },
      "message": "gma: Refactor Scan_Ports()\n\nFactor the probing of a single port\u0027s EDID out. Not only to save some\nindentation levels but also to make it more flexible for later en-\nhancements.\n\nChange-Id: I063787ac42174a02e83e3d5ed93c033f16d3df7a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17753\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "995436b6ba33b7682356b06cfa7a034d5adc5cfe",
      "tree": "d78b7aec24d17f70b054bd92c4ad86dd61b53941",
      "parents": [
        "dca242dbb76fea44ba4bcbf7e4eb15a6c9174679"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 02:21:51 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:58:44 2016 +0100"
      },
      "message": "gma: Get rid of Port_Config in Read_EDID()\n\nWe usually don\u0027t have the full Port_Config available when we want to\nread the EDID. Also move this procedure one level up into GMA.\n\nChange-Id: Ibdce83c6024d796c645dae6786c67206b5343402\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17752\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "dca242dbb76fea44ba4bcbf7e4eb15a6c9174679",
      "tree": "311cafdc02fb6d78ebb1a3fe2bc8894a85df1720",
      "parents": [
        "0d454cde12f33a67528c1343bfda7e37b37e7559"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 01:53:40 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:58:36 2016 +0100"
      },
      "message": "gma: Drop Auto_Configure()\n\nThis procedure was never used to its full extent, afaict. It does too\nmuch and that\u0027s barely tested. New code should be based on Scan_Ports().\n\nChange-Id: I2367488f4b906a03a226313a41bf3d5f8dc4e6ef\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17751\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "0d454cde12f33a67528c1343bfda7e37b37e7559",
      "tree": "60e8b70525f9bb4770e4129b8112bcc78c89a485",
      "parents": [
        "99f10f30d15c287ed8e27159a1a4350a1228bc51"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 21 13:33:43 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:58:07 2016 +0100"
      },
      "message": "gma: Rename ports Digital[123] \u003d\u003e HDMI[123]\n\nBefore we had DP support, Digital just meant HDMI or DVI, but now it\u0027s\npretty confusing. Rename them to HDMI as it supersedes DVI.\n\nChange-Id: Ie8b4c60ac60040aa5c725ffc9cd06aa164391756\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17750\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "99f10f30d15c287ed8e27159a1a4350a1228bc51",
      "tree": "e1831c8087faec3cc34cd82f54ba01f23d6d5dfd",
      "parents": [
        "43cf8d5b120bda9a3ecbec5dd4cfa479818d32b6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 00:34:05 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:57:51 2016 +0100"
      },
      "message": "gma: Rename Config_Type \u003d\u003e Pipe_Config\n\nThis was long overdue. Originally, we only had one type of `confi-\nguration` but those times are over. Thus, rename `Config_Type` to\n`Pipe_Config` along with `Configs_Type` to `Pipe_Configs` and\n`Config_Index` to `Pipe_Index` to give them more meaningful names.\n\nChange-Id: Ic02c738f51b01a883e05eff1c94f9c2d6058fdc4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17749\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "aa91bb52025338ced775360130b77b8b312e0516",
      "tree": "41e605323b8a9d9ef7c6a7515659373cbda7dc93",
      "parents": [
        "74ec962821b6151d8fec6639c07080a552d2ffc7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 07 12:51:20 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 07 15:40:56 2016 +0100"
      },
      "message": "gma: Add parameter to Scan_Ports to limit number of pipes\n\nIn some configurations (e.g. textmode) we know that we\u0027ll only enable\na limited number of pipes. So let\u0027s skip additional port probing in\nScan_Ports() that would only waste time otherwise.\n\nChange-Id: I496e84cfe8bb170a6b500f64461db4c837c439fd\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17278\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "74ec962821b6151d8fec6639c07080a552d2ffc7",
      "tree": "2badba75821f2d3dce4ec7661f2d0d15f56380cf",
      "parents": [
        "fbb422015506b6c175ff35d084e5cf267dfc0096"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Nov 19 03:00:43 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 05 12:38:06 2016 +0100"
      },
      "message": "gma: Limit HDMI pixel rate\n\nGiven that current Intel chips only support 4K@30Hz over HDMI, it\u0027s\nactually no surprise that older chips had even lower limits. For a\n24bpp mode, it\u0027s 225MHz for Nehalem, Sandy and Ivy Bridge and 300MHz\nfor everything newer.\n\nTo keep the code most simple we keep the display\u0027s native resolution\nand just limit the clock if we encouter an unsupported mode.\n\nTEST\u003dBooted T420 with a DELL U3415W attached over DP-to-HDMI and\n     DVI-to-HDMI adapters. The display came up with 3440x1440@42Hz\n     (instead of a garbled picture at 1720x1440@60Hz).\n\nChange-Id: I5386386c648db267a49ed1f62750d2a5fdb2d934\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17499\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "3675db58aa729bfb565b61389d3b2568360095af",
      "tree": "1908d586caf388165f18ba7eeef31a13c1e8d1da",
      "parents": [
        "4916e34ddfc7c48b78ed7ac81fe7063287504cd2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Nov 04 16:27:29 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 05 12:34:27 2016 +0100"
      },
      "message": "gma: Add option for VGA plane on the primary pipe\n\nAdd special VGA_PLANE_FRAMEBUFFER_OFFSET that, if set on the primary\npipe, toggles the use of the legacy VGA plane instead of the `hires`\nplane.\n\nThe caller is responsible for the configuration of the VGA plane and\nhas to specify the framebuffer width and height accordingly.\n\nChange-Id: I9f678fe033d835c9183fbb2d2b05b6585eb545ca\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17276\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\n"
    },
    {
      "commit": "47ff06982e952af1e81693dc464198ed186ed6ae",
      "tree": "67f6692046fa0fe78058195e765dbecdae485145",
      "parents": [
        "dcd274b28d49570a7fdeace8806af3d17cfd92dd"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Nov 04 14:29:39 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 21 15:10:25 2016 +0100"
      },
      "message": "gma: Show that we never try to downscale the image\n\nThis helps to simplify follow-up code that enables scaling.\n\nChange-Id: I2796117e00249aa6654d627eee51ffdb37016d8b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17262\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "dcd274b28d49570a7fdeace8806af3d17cfd92dd",
      "tree": "df95cee9fa72ef9b66f8db59fc7a7bbde4f1aa05",
      "parents": [
        "c7a4fee02f526fd851ac87acae5862dc7bb34800"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Nov 03 20:15:39 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 17 11:21:45 2016 +0100"
      },
      "message": "gma: Validate maximum scalable width\n\nChange-Id: Iba8199a2451e1976ac8aa0f8632d0846fc0caeb4\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17261\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Martin Roth \u003cmartinroth@google.com\u003e\n"
    },
    {
      "commit": "c7a4fee02f526fd851ac87acae5862dc7bb34800",
      "tree": "3a6103ff9ed9d53d9c90c603a4c077c343ff1195",
      "parents": [
        "6a3566773f3b52550ebf0d042154958a2403bb40"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Nov 03 18:18:03 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 17 11:21:32 2016 +0100"
      },
      "message": "gma: Validate pipe configurations\n\nValidate some properties of the pipe configuration before commit.\nCurrently checked:\n\n  o No downscaling\n  o Only 32bpp RGB\n  o Stride must be a multiple of 64\n\nChange-Id: Ibfc8617dbf433da33b1eb4012ecae08445600016\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17260\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Martin Roth \u003cmartinroth@google.com\u003e\n"
    },
    {
      "commit": "6a3566773f3b52550ebf0d042154958a2403bb40",
      "tree": "7bbac5f06d146e73eb278edc6c166fbe4f6cad5d",
      "parents": [
        "d55afebf8bc03f87d1a8b8f92144c2f8da6ca0ae"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Oct 21 15:13:55 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 29 01:26:24 2016 +0200"
      },
      "message": "gma: Fix loop logic in Scan_Ports()\n\nWhen deciding if a pipe has been configured, we only checked if reading\nthe EDID succeeded not if it contained usable data.\n\nTEST\u003dBooted kontron/ktqm77 with a DVI-I to VGA cable and the display\n     came up (it didn\u0027t before because of a gap in the pipe config, i.e.\n     the second pipe was disabled so coreboot didn\u0027t bother to look at\n     the third).\n\nChange-Id: I10075db8916efcee68be95971145c3f6f1530e5a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17087\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "393aa8a8b62455d69651122d1aa3dacc21dd750c",
      "tree": "88b06915c9a42a3c7a85682620ad3647a625aa8d",
      "parents": [
        "abe3de257c482ebeb90cf9f93d69ae744c60f9a6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Oct 21 14:18:53 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 29 01:24:23 2016 +0200"
      },
      "message": "gma edid: Check expected display type\n\nCheck that the EDID\u0027s digital-input bit matches the expected display\ntype (i.e. it should only be set for non-VGA displays).\n\nChange-Id: I099112f190f866525e882d5e24a428092d4d8331\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17085\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "f54d0962018b0443973f84e525e0d112ce956800",
      "tree": "80d5b86e918fab1d92d7455eec2c3590c0d354a8",
      "parents": [
        "125a29e84242900a5556e8a068227e59420c3e1c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Oct 20 14:17:18 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 29 01:21:38 2016 +0200"
      },
      "message": "gma: Program PCH_RAWCLK_FREQ register\n\nThis seems to be a scratchpad register to tell later drivers which\nfrequency the platform uses. Linux reads this but never writes the\nregister.\n\nChange-Id: I55af7c7b675da580c7f52d9997262b232019132c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17071\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "125a29e84242900a5556e8a068227e59420c3e1c",
      "tree": "925c85a1e9a5dc0506c9ccd26cd8ba4e05dd3d33",
      "parents": [
        "be4eaddc67ee3a11b1222db049cd8830491363d9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Oct 18 00:23:54 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 20 13:05:15 2016 +0200"
      },
      "message": "Relicense libgfxinit under GPL v2+\n\nChange-Id: I5d683dda83d23e89955a4d840b5570bd8642834a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17052\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "eeb5a3986fdafb83904f93f8fa9d9fefe48b0944",
      "tree": "e4154a8236311140a74321d9ecf8db152e91c9be",
      "parents": [
        "83693c8d7d87f5cebe120abdf25951c9e212b319"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Sun Oct 09 19:28:30 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 13 23:25:33 2016 +0200"
      },
      "message": "gma: Expect zero Audio_VID_DID on Ibex Peak\n\nIt turned out that Ibex Peak, the PCH paired with the original Ironlake\ngraphics in Nehalem processors, doesn\u0027t have that id.\n\nChange-Id: I928ca8df18b67a427c587ae768b4980e62b8fe1e\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/16960\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "83693c8d7d87f5cebe120abdf25951c9e212b319",
      "tree": "249eff589087c2ed8deeeeda1710ff49a3c3c810",
      "parents": [],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Sat Oct 08 22:17:55 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 09 11:34:25 2016 +0200"
      },
      "message": "Initial upstream commit\n\nThe history contained unlicensed code so everything got squashed, sorry.\n\nChange-Id: I9f5775208f9df6fb29074bf3bc498f68cb17b3a0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n"
    }
  ]
}
