)]}'
{
  "log": [
    {
      "commit": "25fdb15cf0fa9ea6ae41cef497ba07c1783bc494",
      "tree": "0e4e7fab2b68b571d8e4004de94d1a5408a338ef",
      "parents": [
        "d49b56baf97136e1b65f032a985291bf40a73260"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 17 15:54:39 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 15:31:55 2019 +0000"
      },
      "message": "gma: Add support for ULX variants\n\nOn Haswell and Broadwell, the ULX variants differ only in the available\nCD clock frequencies and, on Haswell, the maximum DP link rate. On newer\ngenerations (Skylake+), they differ only in output buffer tuning.\n\nAlso update the PCI IDs from Haswell to Skylake.\n\nStill untested, which was the original reason to skip ULX.\n\nChange-Id: I08e6689ff8c0f2d58b51363886d4cab956f44e03\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/31452\nReviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "d49b56baf97136e1b65f032a985291bf40a73260",
      "tree": "9795778221cdbc13faf2a13c45a365ea51fb4955",
      "parents": [
        "b3b9fa34bb99d33d0fc6a69c64966a71cebd5bd6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 17:19:15 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 08 20:41:19 2019 +0000"
      },
      "message": "gma pipe setup: Refactor calculation to ease proof\n\nSomehow GNATprove stumbles here when code changes elsewhere. Let\u0027s make\nit focus on the linear-offset calculation.\n\nChange-Id: Id5def319993b34144473984ca25c71d92c957180\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27152\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "b3b9fa34bb99d33d0fc6a69c64966a71cebd5bd6",
      "tree": "5ad88af76af9172a9b85d83d19593e1bf86aac23",
      "parents": [
        "8a9062a0842c70920ac1c95ba48b7d4f2e1538f0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 16:16:41 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:22:44 2019 +0000"
      },
      "message": "gma: Fix Ironlake panel fitting, revisited\n\nThis time avoid scaling to odd heights, too. At least Sandy Bridge\nhas trouble with this.\n\nChange-Id: Ib7dfe1fd289661ecd6949eca4b39860dbecc4463\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27153\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "8a9062a0842c70920ac1c95ba48b7d4f2e1538f0",
      "tree": "bd53eb7165dfe93dda277722022efdd5fddf1418",
      "parents": [
        "6a996dc7bafc5a1b56c7cd9d1a00a6f8ef5617fd"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 17 23:15:52 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:21:37 2019 +0000"
      },
      "message": "gma config: Enable Restrictions (No_Elaboration_Code)\n\nForcing compile-time evaluation seems to be the right thing and works\nwell now. It also helps to compare binaries after refactorizations.\n\nChange-Id: I4eea973836a05eefcc2c98de75e6721ef3cd278b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27143\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6a996dc7bafc5a1b56c7cd9d1a00a6f8ef5617fd",
      "tree": "f32fea3ae624618c93ad7c1f428a96ff488c5322",
      "parents": [
        "adfe11fec3f2fcca99be6b43bf4d33eb4aaf99d7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 17 16:30:33 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:20:25 2019 +0000"
      },
      "message": "gma: Implement automatic CPU detection\n\nIn dynamic CPU configurations, Config.Detect_CPU() sets the CPU\nvariables according to the given PCI device id. In static confi-\ngurations it does nothing.\n\nWe update the default configs to make use of this feature where\napplicable. This should still give us full build-test coverage\nwhile cutting the amount of tests in half.\n\nChange-Id: I8ce31c867f97c8d6ef99ca096cb45f7719e78a19\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27138\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "adfe11fec3f2fcca99be6b43bf4d33eb4aaf99d7",
      "tree": "73275a1b5fe36a9a1a562c89dbf042c8e324a067",
      "parents": [
        "d9365613ea1dd31ae00bc69ebd2f7a508049b2c6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 14:59:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:16:10 2019 +0000"
      },
      "message": "gma config: Make Config.CPU and Config.CPU_Var variable\n\nIntroduce CONFIG_GFX_GMA_DYN_CPU that, if set to `y`, makes `Config.CPU`\nand `Config.CPU_Var` variables. All other config values derived from\nthese are turned into expression functions.\n\nChange-Id: If409b5afbd975f3a42e28ff191a092f89ece5ae2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27068\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "d9365613ea1dd31ae00bc69ebd2f7a508049b2c6",
      "tree": "d8cec2ad781f7531741d7a31a7272d558066e119",
      "parents": [
        "27088aad041b760f8b86e2c19a7a6304be43063c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 14:59:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:55:42 2019 +0000"
      },
      "message": "gma config: Tag constants depending on generation or CPU\n\nTag all derived config booleans that depend on the generation \u003cgenbool\u003e\nand those that may depend on the CPU with the generations where that is\nthe case. For instance `CPU_Ivybridge` can be decided purely based on\nthe generation unless the generation is Ironlake, thus, it is tagged\n\u003cilkbool\u003e. For non-boolean constants, per generation tags \u003c...var\u003e are\nintroduced (e.g. \u003cilkvar\u003e) with similar meaning. This will allow us to\nmake them variables later, based on the generation.\n\nTo ease later parsing, also move all multiline expressions after a\nline break.\n\nChange-Id: Iaa50987c51dc62ab2eb8b31e8f223b8a94e8ac12\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27067\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "27088aad041b760f8b86e2c19a7a6304be43063c",
      "tree": "4872922d77f18511d7533d2a52bb8918bc228654",
      "parents": [
        "30e8408399a1b24abe338a689bf7405b03ac03a1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 13:28:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:40:30 2019 +0000"
      },
      "message": "gma config: Initialize stateful configs late\n\nDefer initialization of config variables until GMA.Initialize().\n\nChange-Id: I9192c9a7c4d67e4af7f3e26659489f58998ae832\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27066\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "30e8408399a1b24abe338a689bf7405b03ac03a1",
      "tree": "6bee2f7b53ec000a643fc5bab14bc65cf3c3b3bc",
      "parents": [
        "86445f36097b75f3c1648868b72f9359937511d3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 13:28:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:37:29 2019 +0000"
      },
      "message": "gma config: Group mutable state into a record\n\nPut all state into a record, `Config.Variable`, so it can be referenced\nat once from other packages. This is required to add stateful variables\nto `Config` without changing the rest of the codebase.\n\nChange-Id: Iffc7984b61e57cda7bdaf3b915a4fc51b396423a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27065\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "86445f36097b75f3c1648868b72f9359937511d3",
      "tree": "db78c0eb2aff03a8dd9abe9c5626b13a39858812",
      "parents": [
        "63ec8364dc2af8806ac1f52d806a2360128eb07e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 00:32:26 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:32:10 2019 +0000"
      },
      "message": "gma pipe setup: Drop explicit Global and Depends contracts\n\nThese were originally only added to prevent proof inlining and\nare not needed any more.\n\nChange-Id: Ia75c78a7030960a56e9cb469601b24c677732875\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27064\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "63ec8364dc2af8806ac1f52d806a2360128eb07e",
      "tree": "552512a539d8b24f9eef17a52c44b156c1d24f87",
      "parents": [
        "63dc9190f178cae95705e980f002565c40fa981c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:42:19 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:31:31 2019 +0000"
      },
      "message": "gma: Give constants depending on Config.CPU* a type\n\nTo reduce elaboration time dependencies, turn number constants into\nvariable constants by giving them a type. This will allow us to use\nthe same code for configurations with constant and non-constant\n`GMA.Config.CPU*`.\n\nChange-Id: I0b671cb18701d0ecae118e023e0fd21be5095da0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27063\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "63dc9190f178cae95705e980f002565c40fa981c",
      "tree": "9973d6bc0ff7d3b7c5fd7381922e95beabb8ec7c",
      "parents": [
        "d7809abf1a65f6d0c5b404349b4d8302bf4391c1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:42:19 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:30:48 2019 +0000"
      },
      "message": "gma: Turn constants depending on Config.CPU* into functions\n\nTo reduce elaboration time dependencies, turn constants at package\nlevel into functions. This will allow us to use the same code for\nconfigurations with constant and non-constant `GMA.Config.CPU*`.\n\nChange-Id: I0522f5c63c63080bf9633f3d1b6019f35e52d226\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27062\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d7809abf1a65f6d0c5b404349b4d8302bf4391c1",
      "tree": "742f0499be0074a97a51adc27f78be9839337c91",
      "parents": [
        "998ee2b9af853a3b12c0880a519bf10887fd59f1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 15:44:23 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:53:35 2019 +0000"
      },
      "message": "gma config: Limit types of CPU and CPU_Var\n\nLimit the range of values for `CPU` and `CPU_Var` based on the\ngeneration.\n\nChange-Id: Ibeca7d0fb5cbc617a0819448e78d406793c6f866\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27061\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "998ee2b9af853a3b12c0880a519bf10887fd59f1",
      "tree": "3cd7a285acf0bcb17d3ac2eb7b6cec6e182ee4c5",
      "parents": [
        "6621a14e33fe864965ef524d4b301fdc62a2ad48"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 12 23:02:17 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:52:50 2019 +0000"
      },
      "message": "gma config: Introduce per CPU booleans\n\nThe per CPU booleans are additionally guarded by the respective\ngeneration so that the compiler may decide purely on the generation.\nAlso use the new booleans to get rid of all direct references to\n`Config.CPU` and `Config.CPU_Var`.\n\nChange-Id: I307d1dd56f480fdb4fbc6e2e25fc5f413c4158f8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27060\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6621a14e33fe864965ef524d4b301fdc62a2ad48",
      "tree": "b5dacff889bb81d21be04e1e0e55cf871b60c1dc",
      "parents": [
        "c76749db2b798a7f7fff9557ad53d97dc4f95225"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 07 23:56:54 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:40:39 2019 +0000"
      },
      "message": "gma: Introduce Generation type\n\nIt\u0027s the subset of `CPU_Type` that we have different compilation units\nfor. Also use it in the `Config` wherever we can decide something purely\non the `Generation` (i.e. don\u0027t mix `Gen` and `CPU` in expressions).\n\nChange-Id: I5061021a80cd75ee3d7996ca343e6388b22bf341\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27059\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c76749db2b798a7f7fff9557ad53d97dc4f95225",
      "tree": "83ad17c10ecaa1e0bb062518680f8faf89865bb8",
      "parents": [
        "ceda17dd7676889bc6f0ddae6f4cd2e51b5500d2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 22:04:55 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 21:58:27 2019 +0000"
      },
      "message": "gfx_test: Use GMA.Read_GTT() instead of own GTT mapping\n\nChange-Id: Iabf26cebc91ccf62711a9a83a68b6ffd2182e3fe\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27058\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ceda17dd7676889bc6f0ddae6f4cd2e51b5500d2",
      "tree": "a0ae1a855dcab5069ce58ba1fea5f75b5c1d311c",
      "parents": [
        "0b2329afa562657d351ef1f6864688c1a8560ce8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 22:00:29 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 21:57:01 2019 +0000"
      },
      "message": "gma registers: Add Read_GTT() procedure\n\nChange-Id: I0f8091b8958d0c228430fad4b8343fc362a2dbb7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27057\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "0b2329afa562657d351ef1f6864688c1a8560ce8",
      "tree": "5e5f21c2b541a3bde8a3ca54087bbf33bf23a1f3",
      "parents": [
        "d0d8b79a7e25d5b9bfe67359e27de71ab954a2a3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 21:14:27 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 21:53:19 2019 +0000"
      },
      "message": "gma registers: Separate 32- and 64-bit GTT access\n\nWith Broadwell the GTT layout changed significantly. Before, we had a\n2MiB GTT with 32-bit entries. Now, it\u0027s a 8MiB GTT with 64-bit entries.\nWe used to abstract over that with configuration constants but that\u0027s\ninfeasible if we want to support Haswell and Broadwell with a single\nbinary (boards that support both processors exist).\n\nTherefore, declare both GTT variants and decide based on the CPU which\none to use.\n\nChange-Id: Ib6f21b71c434a9cbdd5cdfa3697da2b2e86750f4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27056\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d0d8b79a7e25d5b9bfe67359e27de71ab954a2a3",
      "tree": "fb425dfeba112e974967577da28193d9d49fc89c",
      "parents": [
        "1ee571400d687a6a2c2139b2dccead2dcfa4fad1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 19:45:00 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 21:47:59 2019 +0000"
      },
      "message": "gma registers: Draw usage of Config.Fence_Count into the code\n\nIn case `Config.Fence_Count` is not a constant, we can\u0027t use it to\ndeclare `Fence_Range`. Instead, limit the range throughout the code.\n\nChange-Id: I2ab37f4cd9e6b4d37353ae4fd11d7e5a686d166f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27055\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1ee571400d687a6a2c2139b2dccead2dcfa4fad1",
      "tree": "89e343bf61dbb868232ca91a5adacd08abaada21",
      "parents": [
        "ef3b0939944b9eac06ca9cfafe5256b7f81bd175"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 12:42:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:30:53 2019 +0000"
      },
      "message": "gma broxton power/clocks: Turn pre-condition into code\n\nIn case `Config.Default_CDClk_Freq` is not constant, we have\nto filter it.\n\nChange-Id: I3ccafdc91a6e11fdc565e154f1394598a4572449\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27054\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ef3b0939944b9eac06ca9cfafe5256b7f81bd175",
      "tree": "0907f6be0f46b833f2bf1d42195c60b661544fdb",
      "parents": [
        "117db37ec100cc73ea470d36d48f546cf8ae71ac"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 18:26:38 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:29:31 2019 +0000"
      },
      "message": "gma config: Introduce Has_New_FDI_(Sink|Source)\n\nChange-Id: Ib9a5951abf62ed01583ad028bc944c0135744457\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27051\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "117db37ec100cc73ea470d36d48f546cf8ae71ac",
      "tree": "4a7fc2455dc8d57753b3857fccb020ea96384eb5",
      "parents": [
        "318bca1636edc2c550068398be10977e45c45a2b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:56:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:20:52 2019 +0000"
      },
      "message": "gma config: Introduce Have_HDMI_Buf_Override\n\nChange-Id: Id00ae200cc8d08ce245d57b2886a40f0fea10167\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27049\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "318bca1636edc2c550068398be10977e45c45a2b",
      "tree": "b02caf27a69f13aa83d19dc43561f2c8e64e1dff",
      "parents": [
        "cf88f3d1567cf6475be5ddf3e7a433895a6144a6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 19:22:52 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:19:21 2019 +0000"
      },
      "message": "gma config, port detection: Scatter Valid_Port initialization\n\nWe did overwrite most the default values for `Config.Valid_Port` anyway.\nSo move the few remaining defaults where they are visible together with\nthe other runtime settings.\n\nChange-Id: I17df08de0aa1ffb303646ea564c100bb702407f5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27047\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "cf88f3d1567cf6475be5ddf3e7a433895a6144a6",
      "tree": "36ab3da2bffd540bfdfbb54e824ae57d6c40fb80",
      "parents": [
        "67cf6d8f2bd36d8f78f48dfb927789d007b7740f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jun 05 13:27:34 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:16:05 2019 +0000"
      },
      "message": "gma: Provide `Global` contracts for public procedures\n\nWe have to enforce a contract on Power_Up_VGA(), as it has no effect\non older hardware generations.\n\nChange-Id: I13af0d90ff738e1eea5f8992718e00a6a09c4705\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/26866\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "67cf6d8f2bd36d8f78f48dfb927789d007b7740f",
      "tree": "1110492407b3809d92b5bc7b295a9e206ca1ecb2",
      "parents": [
        "f70eddafbc2c6045a14e2f8bbb3273ee738fbaf7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 18:48:11 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 18 16:04:41 2019 +0000"
      },
      "message": "gma config: Introduce Is_ULT\n\nChange-Id: I545d74ba6cadb06479b29b85aa9dc2af2be564d6\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/27053\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "f70eddafbc2c6045a14e2f8bbb3273ee738fbaf7",
      "tree": "9f110da02c1a579f3d853b84dfdbd21a3468eb81",
      "parents": [
        "d58de7d2126316fc1afbb84e4d6a26046d2cf1b7"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Tue Aug 21 18:37:00 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Aug 22 10:30:08 2018 +0000"
      },
      "message": "gma pipe_setup: Work around a PFIT_CONTROL quirk on G45\n\nIn legacy VGA mode the pillarbox scaling mode fails to display anything, so just\nalways force \u0027auto\u0027 mode, which will have the output stretched to fullscreen.\n\nChange-Id: Ie7b7be06b5c5bd5569e8a6645dd9359660f7a51a\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/28255\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d58de7d2126316fc1afbb84e4d6a26046d2cf1b7",
      "tree": "f1391ace26849bd38415c7a2f7b7baf8d9defd1c",
      "parents": [
        "eb4e8f91c4089fb3e89eeba039dfef3f7d79e5cf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 07 23:06:55 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 15 17:10:16 2018 +0000"
      },
      "message": "gma config: Introduce Has_Tertiary_Pipe\n\nAnd use it instead of `Supported_Pipe`.\n\nChange-Id: Id3c4bdaf0d6b6c6126692b00cbabaf7d3f85b4bf\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/27048\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "eb4e8f91c4089fb3e89eeba039dfef3f7d79e5cf",
      "tree": "a4ad7a36df41af49dcbd586acffb5b8ccf972b43",
      "parents": [
        "7ba7bd64ae6242177496f98a24e280aec1cb1655"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 00:00:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 15 17:08:18 2018 +0000"
      },
      "message": "gma config: Fix CPU range for Has_PCH_DAC\n\nLooks like this hasn\u0027t been tested for a while or maybe never. The range\n`Broadwell .. Haswell` was reversed and thus empty.\n\nChange-Id: I1f6f8e3897c55aa5978e9403d14f103458c89cac\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/27046\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7ba7bd64ae6242177496f98a24e280aec1cb1655",
      "tree": "34516d12d6fc73ec5ddc9e032f6f5de64917a5fa",
      "parents": [
        "865f1fa7e4e1420781c125b947e908b7b08568b1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jun 06 12:27:09 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 15 17:08:14 2018 +0000"
      },
      "message": "gma pipe setup: Add missing `pragma Debug`\n\nWe should keep the core functionality free of `HW.Debug`.\n\nChange-Id: Id5fd31b137f5a9da99dc18bcb21535ddfbaf264a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26884\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "865f1fa7e4e1420781c125b947e908b7b08568b1",
      "tree": "c8f65a7c2efcb36425a106b15b73c5874e6c12ad",
      "parents": [
        "c5c767ace8fcd91004474609e6f278018c054f41"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jun 05 12:26:41 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 17:31:54 2018 +0000"
      },
      "message": "gfx: Introduce Size_Type for framebuffer size in bytes\n\nChange-Id: I8809a887b12124e5331f188dfa1674cbcca7152e\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26865\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c5c767ace8fcd91004474609e6f278018c054f41",
      "tree": "f096f184b6026e9dfe3ca8b7e79be46f42e0321a",
      "parents": [
        "da1185eea1dad41b9b15685cbe5eaaf352158d16"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 01:09:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 17:31:27 2018 +0000"
      },
      "message": "Use (Width|Height)_Type for modeline sizes\n\nSaves us a lot of conversions and explicit contracts.\n\nChange-Id: I32c06ca87b18c25e3c519fa608c4b9b36dbc0449\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26849\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "da1185eea1dad41b9b15685cbe5eaaf352158d16",
      "tree": "05d31280a43fc3865db4c0ee9dd4d92fcdad214d",
      "parents": [
        "db68441c979d4f3623a0fb6b906683955ff95c66"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 01:07:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 09:15:50 2018 +0000"
      },
      "message": "gfx, gma pipe_setup: Rewrite Scale_Keep_Aspect\n\nUse Scaling_Type() to organize the different scaling cases. Looks better\nand outlining the calculation helps GNATprove on bad days.\n\nChange-Id: I14af765c6f17aeccff3f9274ccec3756493670d7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26848\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "db68441c979d4f3623a0fb6b906683955ff95c66",
      "tree": "c186ebb4b913c5a1fe1036aa19d28795123b074a",
      "parents": [
        "57bebc7110c4f097135f523e8e68af056248e4a7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 22:44:58 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 08:59:35 2018 +0000"
      },
      "message": "gma skylake power/clocks: Refactor to allow proof without inlining\n\nChange-Id: Ie660c69377d8624a3a6662c6ccb7b5e4efcd4629\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26847\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "57bebc7110c4f097135f523e8e68af056248e4a7",
      "tree": "97c1ea1c6dcfc34aaa4a6ac7de97da54bf4aab46",
      "parents": [
        "8a5a3b5a0cdd368c17f103e4f84eff588b50111d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 08:59:02 2018 +0000"
      },
      "message": "gma panel: Refactor to allow proof without inlining\n\nChange-Id: I8ed25efec5ee66d3dd47cec4433a4f634911232a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26846\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "8a5a3b5a0cdd368c17f103e4f84eff588b50111d",
      "tree": "af4dbdf45b42f075312f778a662b8b212d6d69a4",
      "parents": [
        "5a3191f6ef7a01b7a73442b4b6940fd7cf033fba"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 13 08:58:13 2018 +0000"
      },
      "message": "gma: Add contract to Enable_Output() to rely less on proof inlining\n\nChange-Id: I7bc066b33c969e528c7bcd9328178fac8a37ad21\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26845\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "5a3191f6ef7a01b7a73442b4b6940fd7cf033fba",
      "tree": "fc645d23b8e1a3b73e30604a82881cf71e469a20",
      "parents": [
        "7eb1350b711e513c76a44169fafa22a699b28e03"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:46:21 2018 +0000"
      },
      "message": "gma display probing: Use expression functions for less proof inlining\n\nChange-Id: Ibd10238a3cb5c109dee321ad76ef978465ea7d34\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26844\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7eb1350b711e513c76a44169fafa22a699b28e03",
      "tree": "70f4dcce0992a185a34be57355342e9dc6ecf983",
      "parents": [
        "565f33b23e3e8e223702d07d768f9f2a11dd5686"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:45:28 2018 +0000"
      },
      "message": "edid: Use expression functions to rely less on proof inlining\n\nChange-Id: I7c116762c2b3fa366318b09e60d0e1945057eec6\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26843\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "565f33b23e3e8e223702d07d768f9f2a11dd5686",
      "tree": "895232e2b13e52bc62eed99a3d2aacff96e1a7a0",
      "parents": [
        "b679013ce61fcfae5e33375cc71a757bfa73eb95"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:42:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:44:09 2018 +0000"
      },
      "message": "gma broxton: Tighten types to rely less on proof inlining\n\nChange-Id: I2ff61484715461026463be7fbc45c283e75c903b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26842\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b679013ce61fcfae5e33375cc71a757bfa73eb95",
      "tree": "61cbfeda53b4c456bba268e6c9252095042627ed",
      "parents": [
        "718c79bb0713b5b90c9cc44e03197dc777066e3d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jun 04 14:41:01 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 08 14:41:53 2018 +0000"
      },
      "message": "gfx: Increase range of Frequency_Type\n\nNew range limits are the minimum and maximum CDClk for Broxton.\n\nChange-Id: I55a77b73ffef90eb08551c49978d020b1cf7eecc\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/26841\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "718c79bb0713b5b90c9cc44e03197dc777066e3d",
      "tree": "d8e6657e3773ee9b06197e0f6e1d4c33b8bb4927",
      "parents": [
        "f361ec81e075b3ece15fcb910ec4c96758ce33c2"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Mon Jun 04 15:31:48 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 06 11:04:58 2018 +0000"
      },
      "message": "g45/hw-gfx-gma-gmch-hdmi.adb: Use GMCH_HDMI_MODE_SELECT_DVI\n\nWith GMCH_HDMI_MODE_SELECT_HDMI set the controller will be sending\nnull packets during Vsync. This only works on displays supporting HDMI\noperation, while GMCH_HDMI_MODE_SELECT_DVI ought to work on all\nHDMI/DVI displays.\n\nChange-Id: I75c669b913ef4d5494d78bed55f8e38bba0b0362\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/26833\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "f361ec81e075b3ece15fcb910ec4c96758ce33c2",
      "tree": "f6b0b643a65dc06c822b41fe0cb34e796e02d1fe",
      "parents": [
        "958c5640456afc695e4b05a9a23df3ada14ebdd2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 18:01:45 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:37:04 2018 +0000"
      },
      "message": "gma: Introduce Pipe_Config.Scaler_Available()\n\nG45 provides only a single panel fitter. Therefore, we can only enable\na single pipe that requires scaling. Scaler_Available() tells us if a\npanel fitter is available for a given pipe. We use the result to filter\ninvalid configurations early.\n\nChange-Id: Ie05bfb58318e79edc8ab81598458e620ffdcb2ab\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26768\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "958c5640456afc695e4b05a9a23df3ada14ebdd2",
      "tree": "10d15fd007f7ad37b9f330cfc1ec5b13f7a44ad0",
      "parents": [
        "b217ecebcccae1c5c1414b0bfbbb22302e6c7da5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:59:31 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:38 2018 +0000"
      },
      "message": "gma: Revise scaling on G45\n\nThe G45 panel fitter needs a hint how the resulting image will be boxed\nto keep aspect ratio. As we can\u0027t change the panel fitter configuration\nwhile the pipe is enabled, we always tear the whole pipe down when the\nconfiguration changes.\n\nChange-Id: Ifedc19abbadcbae61892d0051f08592637f90fd7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26767\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b217ecebcccae1c5c1414b0bfbbb22302e6c7da5",
      "tree": "8da848e601c1d921c10f11a56df207a341dbc8bc",
      "parents": [
        "71677460a293b8385a12f10b555c6ca547dee5ec"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:56:35 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:34 2018 +0000"
      },
      "message": "gfx, gma: Add helper to decide scaling aspect\n\nScaling_Type() returns the resulting scaling format, `Letterbox`,\n`Pillarbox`, or `Evenly` when keeping aspect ratio.\n\nChange-Id: I86fb15b03c2f4b55cb00e85b57dc7a64583557d0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26766\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "71677460a293b8385a12f10b555c6ca547dee5ec",
      "tree": "ec1d548686b13d2e608611f1ba39e6d2c361c3e4",
      "parents": [
        "3299ad5e7f70292e365d2b011e6d5695cb6fb469"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:54:46 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:30 2018 +0000"
      },
      "message": "gfx, gma: Move Requires_Scaling() up into GFX\n\nChange-Id: Ie6f855b128ad6d195e5c0a6fb16a6b9a64422b7b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26765\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "3299ad5e7f70292e365d2b011e6d5695cb6fb469",
      "tree": "ed191d8d08a4902ea74a1c63ec609a12309658a6",
      "parents": [
        "ab69e3613b9e2593395d5b8e7aa928de60c6e45b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 16:53:39 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:36:24 2018 +0000"
      },
      "message": "gfx, gma: Move inline functions into private package parts\n\nChange-Id: I3adb9776e87953997a0cd430f366956dfcb2b6f0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26764\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ab69e3613b9e2593395d5b8e7aa928de60c6e45b",
      "tree": "7df2b8cf96284cf62e21f26bc486dddb4a4e7c56",
      "parents": [
        "a63e833af622028e1f7ddf4543f9960a7875a456"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 21:20:30 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:34:10 2018 +0000"
      },
      "message": "gma ironlake..broadwell: Enable X-tiling\n\nGenerations pre Skylake support X-tiling only.\n\nChange-Id: I828e20e2a6bf71c88cf9e23ada0552e2462fe7c1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26697\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "a63e833af622028e1f7ddf4543f9960a7875a456",
      "tree": "2207a079bcb7b66a2ce9276230876cc57ba45f66",
      "parents": [
        "7bb10c6939df9f5ac55cf7f3f0d34fd454f00233"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 01 16:41:30 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:34:05 2018 +0000"
      },
      "message": "gfx_test: Move Cursors\n\nChange-Id: I5187379c0b6c3c20f43c323fa6b4a903746a02a8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23638\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7bb10c6939df9f5ac55cf7f3f0d34fd454f00233",
      "tree": "61a70abc45ebf43d1edd1ccd277a8dcf30d9377b",
      "parents": [
        "15ffc4fbc841dff9cebf6a7d8c3bd6d56f17d5b1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jan 12 14:07:44 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:34:01 2018 +0000"
      },
      "message": "gfx_test: Draw cursors\n\nChange-Id: I58cd859f3294f30dfd91b87834699d62b1d0b025\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/23242\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "15ffc4fbc841dff9cebf6a7d8c3bd6d56f17d5b1",
      "tree": "d7ddde052651f249fa83f8b8aa99cec3a1e6066a",
      "parents": [
        "4dc4c61a4ab4e1903b97fc52c0c3809fa43cda56"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Jan 11 14:44:43 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:57 2018 +0000"
      },
      "message": "gma: Add interface functions to update/place/move cursor\n\nAdd Update_Cursor() that allows updates to all cursor parameters,\nPlace_Cursor() and Move_Cursor() to update the position only.\n\nChange-Id: I6e97442847ea42662214390d80aaf634a4b1ab5a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/23216\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "4dc4c61a4ab4e1903b97fc52c0c3809fa43cda56",
      "tree": "6fdfa11c1dfb2d8f45971c5685a5e097e708a759",
      "parents": [
        "a02b2c699b736a97773c2e8ca17aa2886a72131c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 15:55:09 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:48 2018 +0000"
      },
      "message": "gma: Configure cursor plane\n\nProgramming the cursor plane registers is straight forward.\n\nOn newer hardware, we also have to account for the cursor in GPU\ninternal buffer allocation. Fortunately, we have enough resources\nfor a static configuration that always accounts for a cursor.\n\nCursors with a location that is off limits are placed off-screen\nin the top-left corner, hence, are invisible.\n\nChange-Id: I08ffd81d524e14e464af6e6f6fb5effbd4890d8a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/23204\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "a02b2c699b736a97773c2e8ca17aa2886a72131c",
      "tree": "89ddc05958a57884e4fba647c2f4985fa360f7ab",
      "parents": [
        "7a740439ed7b301ab30291ece19b63083ed90e79"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 15:58:34 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:43 2018 +0000"
      },
      "message": "gma: Add cursor infrastructure\n\nAllow ARGB cursors of 64x64, 128x128 or 256x256 pixels. Valid positions\ndepend a lot on the hardware generation, so we\u0027ll accept arbitrary\ninteger values in the interface and filter them internally. An out of\nbounds cursor will simply be invisible.\n\nIt\u0027s unclear if the parameters also apply to other GFX hardware. Thus,\nwe keep the types in the GMA sub-package for now.\n\nChange-Id: I1a380037ac91ba2beeb33c27a6882eb5caa126f9\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/23185\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7a740439ed7b301ab30291ece19b63083ed90e79",
      "tree": "a3108ce580850f468992f0345f07a1f76902ea61",
      "parents": [
        "abb16d98d6140936e84e767b2df6a9cdc3e486dc"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 30 13:58:27 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:39 2018 +0000"
      },
      "message": "Rename Pos_Type --\u003e Position_Type\n\nYet after few months, it\u0027s already too confusing to me. Let\u0027s reserve\n`Pos` for `Positive` and spell out `Position`.\n\nChange-Id: I3445d20665ae6a993cb0e46d08e8f3148abef40e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26696\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "abb16d98d6140936e84e767b2df6a9cdc3e486dc",
      "tree": "d9d4fa4012d8502218bb2a3283fb9e3f2cd26db7",
      "parents": [
        "3d06de825053c45f9fdb413b72f3174809533a51"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 01:44:26 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:36 2018 +0000"
      },
      "message": "gma hsw transcoder: Choose PDW path for scaling on DDI A\n\nIf scaling is required, always drive DDI A through the Power Down Well\n(PDW) path. If not, keep the current \"always on\" path to allow power\nsaving.\n\nHopefully, this also enables us to use the eDP in legacy VGA text mode.\n\nChange-Id: Ia9135d253083d363872c7cf0b3e2b5b69ba0831f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26664\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "3d06de825053c45f9fdb413b72f3174809533a51",
      "tree": "81f69ad4add628d9f00e6b6211c86536cac8982d",
      "parents": [
        "73ea03245445527a80b70e41cf4a910371014ca0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 01:35:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:31 2018 +0000"
      },
      "message": "gma hsw: Enable Power Down Well for scaling on DDI A\n\nThe primary pipe can drive DDI A (eDP) without the Power Down\nWell (PDW). The scalers are inside the PDW, though. To enable\nscaling for DDI A, ensure the PDW is active.\n\nWhen switching between scaled / unscaled modes, we\u0027ll have to\nreconfigure the whole pipe.\n\nChange-Id: I46318bb74d00a584d268a9d76787f8b26249264d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26663\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "73ea03245445527a80b70e41cf4a910371014ca0",
      "tree": "210fafb8ff5631b2946bdd4511271293b2f8a27c",
      "parents": [
        "d5198445517c361b30f4521e52b953d2a7928a70"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:17:07 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:18 2018 +0000"
      },
      "message": "gma: Add G45 support\n\nThe following ports are implemented: HDMI/DVI, VGA, LVDS and DP.\n\nTested with gfx_test and coreboot on a Thinkpad X200 (GM45).\n\nChange-Id: Ifc05a1516329a61772af84558e5bfceb4d4ca277\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/21295\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d5198445517c361b30f4521e52b953d2a7928a70",
      "tree": "8a17ba1ffbf11ed5982b5ea162da16223fe7d68a",
      "parents": [
        "fdb0df1d8d82101eeba70cc64016e41834dfa6a5"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:05:12 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:39:02 2018 +0000"
      },
      "message": "gma: Add flag to set up GMCH Panel Fitter\n\nSetting up the panel fitter for a second Pipe is omitted in order for\nthe configuration for the first pipe to remain valid. It is currently\nunknown how the system would behave in such situation.\n\nChange-Id: I4949fbb5356bd244d3d6f3eec71847b6e683079a\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25409\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "fdb0df1d8d82101eeba70cc64016e41834dfa6a5",
      "tree": "23e9701544519fdf57e3d5ade880e586b44f3304",
      "parents": [
        "a455f0e5aef708221c7cfad025a3d01893736979"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 07 14:30:34 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:59 2018 +0000"
      },
      "message": "gma: Fix Ironlake panel fitting\n\nHardware doesn\u0027t like minimal horizontal gaps. Scale to full width if\nthe difference is at most three pixels.\n\nAlso, don\u0027t scale to odd widths. At least Haswell doesn\u0027t like it.\n\nChange-Id: Ic1484eda0f6022cd8a37611fdfb9d2c50b390b72\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26647\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "a455f0e5aef708221c7cfad025a3d01893736979",
      "tree": "66eb38c303a13af019a301b1ea40f83d74635df2",
      "parents": [
        "f7f537e714ffa3fe31a4d6a3e46310fe22f2ced7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 07 11:40:40 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:52 2018 +0000"
      },
      "message": "gfx_test: Add loop that shows cuttings of the test image\n\nIf we are supposed to show the test image longer than 8s, show a\ndifferent cutting of the image every 4s.\n\nChange-Id: I8ce22c4f8dc2615ae1dbe8c39ad249aa959a3005\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23166\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f7f537e714ffa3fe31a4d6a3e46310fe22f2ced7",
      "tree": "a5d1762ba2b742c835af6b3ed37616546861aee8",
      "parents": [
        "8fd92a10c5a297b09b0ded544af8136a8ecccdaa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 14:15:43 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:21 2018 +0000"
      },
      "message": "gma pipe_setup: Replace Update_Offset() with Setup_FB()\n\nBeside updates to the framebuffer offset in memory, Setup_FB() allows\nchanges to size, position, tiling and rotation, too. Basically every-\nthing but changes to BPC (which would need an update in the transcoder\nconfiguration on pre-Broadwell hardware, too).\n\nIt is not clear if the updates work fully synchronous on all hardware\ngenerations. Though, tests on APL have shown a glitch free transition\nso far.\n\nChange-Id: I3c8352315390d9c4d2fb2a7e09355b5fe4089421\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23165\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "8fd92a10c5a297b09b0ded544af8136a8ecccdaa",
      "tree": "6fef943a64ae205a27fab7ef41c4170f813a3bc5",
      "parents": [
        "cbbaade460c23a04d4f9641e0e92afae9ddd12ec"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 14:02:59 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:12 2018 +0000"
      },
      "message": "gma pipe_setup: Write DSPSURF register last\n\nThe surface register arms the other plane registers for a synchronous\nupdate and should be written last.\n\nChange-Id: I723cdf7e319c62004d3c4db80959d8b14f553ff6\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23164\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "cbbaade460c23a04d4f9641e0e92afae9ddd12ec",
      "tree": "7fdb2f58f11fe4bbb6c007971d83d064baeb431d",
      "parents": [
        "b4b72794bab8523128befdb4bf4266b79413332a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 13:59:36 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:04 2018 +0000"
      },
      "message": "gma config_helpers: Pass only the modeline to Validate_Config()\n\nValidate_Config() had the full `Port_Config` as parameter, though we\nonly accessed the modeline. Make that explicit so we can also call it\nwhen we don\u0027t have the full config available.\n\nChange-Id: Ia4620d1ffa1a3cd098d721d84f2453f2dc19da2a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23163\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b4b72794bab8523128befdb4bf4266b79413332a",
      "tree": "0298c19dc453c46c18089a8c7ba5859fb3228c7c",
      "parents": [
        "5ef4d605c0f0cdd46d9361ead6df849ea8a17811"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 13:45:41 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:36:57 2018 +0000"
      },
      "message": "gma pipe_setup: Explicitly disable panel fitter if unused\n\nWe assumed that the panel fitter (or pipe scaler) is already turned off\nby default. But that won\u0027t be true if we only update the framebuffer\nconfiguration without resetting the whole pipe.\n\nChange-Id: I442d2a6a553d5d91187a4d09c8bc5fdd693eb4f4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23162\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "5ef4d605c0f0cdd46d9361ead6df849ea8a17811",
      "tree": "7a6a95e377fcdfb349b8610b2c43845e393bba65",
      "parents": [
        "34be6547c8dc24aa9c8b406bb1fc8d8fcd118a44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 13:56:47 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:36:45 2018 +0000"
      },
      "message": "Add Start_X and Start_Y offsets for framebuffer panning\n\nFor tiled modes, the offsets add to the stride. To keep things simple,\nwe always assume that they are accounted for (even in linear mode).\n\nTo make the panning visible, the offsets are added in `gfx_test` and\nthe test image is drawn larger by two times the offsets. Also add the\nnew parameters to Dump_Configs() along with the forgotten tiling and\nrotation parameters.\n\nChange-Id: I5d1e1f2ed8b1872a2b82be23a6a622d948f7831f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22866\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "34be6547c8dc24aa9c8b406bb1fc8d8fcd118a44",
      "tree": "f156261eb54735ebd7e659ba7bd063a426cd68ed",
      "parents": [
        "98a673dc57d90cc79e64c53bd02cfcc1c48ea1aa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 09:26:24 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:36:14 2018 +0000"
      },
      "message": "gma: Reverse meaning of GTT_Rotation_Offset\n\nWe used to add the second mapping for a 90 degree rotated frame-\nbuffer at `FB.Offset + GTT_Rotation_Offset` and patched the offset\nwhen configuring the pipe. Instead, we expect the final offset in\n`FB.Offset` (which should include `GTT_Rotation_Offset` when using\nthe default framebuffer setup.\n\nChange-Id: I321a3db3af4b21eefbfc1bf0c2a7005feaf83c7a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22864\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "98a673dc57d90cc79e64c53bd02cfcc1c48ea1aa",
      "tree": "65c02aea4eadd06815de6bc956df3446ec9b8309",
      "parents": [
        "60d0e5f9f62fe082c3884e1d2795385fe343a98e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 15 23:46:16 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat May 19 20:38:15 2018 +0000"
      },
      "message": "gma ddi: Move conditionally used Program_Buffer_Translations()\n\nWhen compiled for Broxton, Buffers.Translations() is a stub and GCC 8\ncorrectly identifies the use of unitialized fields. However, it can\u0027t\nsee that it\u0027s never called in that case. Draw the definition of\nProgram_Buffer_Translations() inside the respective `if` to make that\nclear.\n\nChange-Id: I8edbb8ac9249d76465d1cd07526fb6eeef0618e1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26305\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    },
    {
      "commit": "60d0e5f9f62fe082c3884e1d2795385fe343a98e",
      "tree": "6a98fd9ff3f0f265932a19cdaaee35ca826c2f06",
      "parents": [
        "e87d0d1e2b0dc8d53a16eb2a16bdac7de44e1b28"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:08:27 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:01:30 2018 +0000"
      },
      "message": "gma: Add Pipe_Index to the Connectors.Post_On method\n\nOn GMCH targets the Pipe index needs to be programmed in the output\nregister.\n\nChange-Id: I6a614a9359c95adb59a1b6d0e34febe302fcfbf8\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25410\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "e87d0d1e2b0dc8d53a16eb2a16bdac7de44e1b28",
      "tree": "1a0ce865768db16dd66c51ba0adceee94ad49e77",
      "parents": [
        "5d08a93cb9ebe2a411561dd9c635f7a066e2b5d1"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:02:49 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:00:30 2018 +0000"
      },
      "message": "gma: Add flag to use GMCH PP registers\n\nChange-Id: Ia94af6340bdf329328f265fb9424224c1ab5f45f\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25408\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "5d08a93cb9ebe2a411561dd9c635f7a066e2b5d1",
      "tree": "84f48f5c17ee092f4f1f73bdbeb2635282e7e762",
      "parents": [
        "636390ca01e7ecd6c53c1db60a6b97685bb5483e"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:00:18 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:00:26 2018 +0000"
      },
      "message": "gma: Add GPU_Port types that are convenient for GMCH to use\n\nChange-Id: I9120d084637d36a7e2276fcf3f630b3f7ed32509\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25407\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "636390ca01e7ecd6c53c1db60a6b97685bb5483e",
      "tree": "2eab6ba0ee7d4b9b225e16dac3c9dfc0915e5453",
      "parents": [
        "229ed1c7bfb6c372b6247a6be6f002066feaf43e"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:52:13 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 13:00:19 2018 +0000"
      },
      "message": "gma: Add a flag to use GMCH transcoder registers\n\nChange-Id: Ic9bff918bdcab3c5c55316cb6de1a8a8bf1c6430\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25406\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "229ed1c7bfb6c372b6247a6be6f002066feaf43e",
      "tree": "41d80973d6c09e9bd83471a27c1280194f92e595",
      "parents": [
        "dfcdd77f8e9b7c499a7a89de7d0d4dc29a3fc91f"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:45:43 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 12:59:55 2018 +0000"
      },
      "message": "gma: Add flag to use GMCH GMBUS registers\n\nChange-Id: Id5d115c7a4711f634171e6e163439ebab4ee6076\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25405\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "dfcdd77f8e9b7c499a7a89de7d0d4dc29a3fc91f",
      "tree": "39f91b5bd83d011d369ef305d9348452a7bd5869",
      "parents": [
        "d1988d1a033d4d12b48cbc6640984ef3b143fd30"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:42:50 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 12:59:46 2018 +0000"
      },
      "message": "gma: Add flag to allow use of VGACNTRL on GMCH\n\nChange-Id: If2f12f14b4f367cdfc8cc2c20402f2350e3bbba8\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25404\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d1988d1a033d4d12b48cbc6640984ef3b143fd30",
      "tree": "9ece798e34f1a48a6cff2bbf3dd14208de0a564f",
      "parents": [
        "7628493a7e7acaba93d607db008a59ec8fa8eebe"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:27:57 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 12:59:42 2018 +0000"
      },
      "message": "gma: Make Raw_Clock a variable\n\nOn GMCH the Raw_Clock depends on the FSB frequency.\n\nChange-Id: I11af9ecb3504983ba1d3136c1b82bd14363afdba\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25403\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "7628493a7e7acaba93d607db008a59ec8fa8eebe",
      "tree": "0cb15933bcf4d9962501b9c821e1f6ba7a861c2d",
      "parents": [
        "9ca69f14ba6bfaf04767f7bd89a631f8382ac32a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Nov 28 13:22:04 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:28:16 2017 +0000"
      },
      "message": "gfx_test: Update i915 binding in wrapper script\n\nAlways load i915 even if it wasn\u0027t loaded before. Also, force\n`modeset\u003d1` as that\u0027s our use case and we might have booted with\n`i915.modeset\u003d0`. Last but not least, search for the correct\nvtcon* entry in sysfs instead of guessing, and always unbind it\n(i.e. unbind the dummy driver when we want to switch back to\ni915).\n\nChange-Id: Ib62a05a3621aef2992372a6d3acad1196a363a95\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22715\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "9ca69f14ba6bfaf04767f7bd89a631f8382ac32a",
      "tree": "e70353058c9fa2c531be60a7aacb339eaa9b15b1",
      "parents": [
        "88f3c98b1adb8d2ab596dbda15057da9804d6ee2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 14:31:46 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:27:00 2017 +0000"
      },
      "message": "gfx_test: Add top marker for rotated framebuffers\n\nMark the top with an arrow. Desperately needs anti aliasing.\n\nChange-Id: Ide0e06c29fefc8b5288714d53ee9fa15df2d5452\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22714\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "88f3c98b1adb8d2ab596dbda15057da9804d6ee2",
      "tree": "7457c566a1bd8559ab8a4b5c495526c2967b1137",
      "parents": [
        "244ea7e88fdf3d16c9f85ff0c737db2b93af4b2f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 13:31:38 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:47 2017 +0000"
      },
      "message": "gfx_test: Add rotation parameter\n\nPass the requested rotation through to libgfxinit and enable Y tiling\nin case of 90° rotations.\n\nChange-Id: Icc4c4ee1ce43ecf1603cb673f1a10609494f757d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22713\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "244ea7e88fdf3d16c9f85ff0c737db2b93af4b2f",
      "tree": "63e1aa213a79cf1a5311ac683105c52bcef60a64",
      "parents": [
        "9b479412a7e43888f52840e03b57eed710e46af6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 11:38:23 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:43 2017 +0000"
      },
      "message": "gfx_test: Add corner markers to test screen\n\nShow a white-framed square with rotating colors in each corner.\n\nChange-Id: Ifcd20a3f531c9cebcaf0e7502a76ffb7ff6ca4f8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22712\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "9b479412a7e43888f52840e03b57eed710e46af6",
      "tree": "327ed066e30f61d7a284bb787a29c34a8332bd47",
      "parents": [
        "b7470499e80e1910ff078a55ac46a097b7f0c903"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 27 11:55:56 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:37 2017 +0000"
      },
      "message": "gma: Add support for rotated framebuffers\n\nAs for the tiling, we enable support for rotated framebuffers on\nplatforms with Plane_Control. On every path where a rotated frame-\nbuffer may be expected, we have to exchange width and height in\ncase of 90 degree rotations. Beside the rotation setting itself,\nthe hardware needs to know the vertical stride instead of the hori-\nzontal and a delicate page mapping in case of 90 degree rotations.\nFor that we divide the GTT space into two, the lower half contains\nthe linear mappings, the upper half mappings for a rotated scanout.\n\nChange-Id: I1c901b7abc0fe7764bee87f6fda58ba9fa3f340d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22711\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "b7470499e80e1910ff078a55ac46a097b7f0c903",
      "tree": "ec60955a5f3a7221ddb22ccd93c03409683b7b6c",
      "parents": [
        "0164b024a6b6cff64c41c3b68fd93a925753f38d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Nov 30 14:48:35 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:31 2017 +0000"
      },
      "message": "Add Rotation setting to Framebuffer\n\nAdd a Rotation setting to the Framebuffer type that tells us if the\nframebuffer is rotated by 90, 180 or 270 degrees. The hardware should\nrotate the picture in the opposite direction before display.\n\nTo support more complex memory layouts, we also add a V_Stride (ver-\ntical stride) setting.\n\nChange-Id: I6430fb44b5c9cfcf9fa58684a425e8c2e4647ac3\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/22710\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "0164b024a6b6cff64c41c3b68fd93a925753f38d",
      "tree": "02ebcb40b55ce672a3a093e712eddbf8863f811d",
      "parents": [
        "b03c8f19ae0d7e1f9f27ff258e72a37dfb87f323"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Aug 24 15:12:51 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:03 2017 +0000"
      },
      "message": "gma: Set tiled framebuffers up through Plane_Control\n\nOn platforms with Plane_Control registers (Broxton/Skylake+) we can\nuse X and Y tiled framebuffers for scanout (older platforms support\nX tiling only). As our main use case is 90° rotation with Y tiled\nframebuffers, we implement it for the newer platforms only for now.\n\nWe also set up a fence register for linear access to the tiled frame-\nbuffer through the aperture.\n\nChange-Id: I913c82f62fd28b681a06ce13f41160a07e559799\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22709\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "b03c8f19ae0d7e1f9f27ff258e72a37dfb87f323",
      "tree": "4406950a9497d0683687521c760430a02d907663",
      "parents": [
        "51375ad75a99d395f3843e46783c0743b5fea29b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Aug 25 13:29:08 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:25:56 2017 +0000"
      },
      "message": "gma registers: Add procedures to set fence registers\n\nThrough fence registers, we can tell the hardware which parts of the\naperture cover tiled framebuffers. Only legacy X and Y tiling is sup-\nported. According to `i915_reg.h` there are 16 fence registers from\nG4x on and 32 from Ivy Bridge on (this only partially matches docu-\nmentation: Haswell has 16 regs documented and the fence registers\nwere not documented at all before).\n\nChange-Id: I02edc99b315e24dc175c6f93aff627e59cb1ff0b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/22708\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "51375ad75a99d395f3843e46783c0743b5fea29b",
      "tree": "e331ac757e54adeee16b8c9c42c4c3332a00e27a",
      "parents": [
        "e7ac6ebddc771fb7262c5f15decd617deea1bb50"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Aug 24 14:44:06 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:04:43 2017 +0000"
      },
      "message": "Add Tiling setting to Framebuffer\n\nBeside linear framebuffers, we can, on Intel hardware, easily support X\nand Y tiled framebuffers too. If we access the framebuffer through the\naperture window, we can let the hardware handle the tiling.\n\nTiling generally divides the framebuffer into rectangular pieces of\nfixed size where each piece, or tile, is represented by one page of\nmemory. Even inside one tile, the pixels are not always ordered linearly\nbut either in a row-major (aka. X tiled) or column-major (aka. Y tiled)\nmanner.\n\nChange-Id: I3e6f93caa8f2485a5792d72cfe2e8b3902add7a3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22707\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "e7ac6ebddc771fb7262c5f15decd617deea1bb50",
      "tree": "5a2eb830a9a1c57677210f0665d50ea9a7e66dca",
      "parents": [
        "208857d393022e9a5b314f7e7ce21b7d40546c44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 04 23:54:13 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:03:22 2017 +0000"
      },
      "message": "gma: Implement PCI Id based generation check\n\nWe were used to sanity check the GPU generation by the audio id because\nthat was easily accessible in MMIO space and only one number per gene-\nration. It doesn\u0027t work on Skylake, though, so we read PCI ids instead.\n\nChange-Id: Id6c9cfdb00664dc2c36b2cbd13136568829297d5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21394\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "208857d393022e9a5b314f7e7ce21b7d40546c44",
      "tree": "2cd1eb59cf6cd9468c74efdd23bf14c740a8b993",
      "parents": [
        "907e4157aab4b0fb078e2a81ca9f21fade4ba257"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 29 21:30:24 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 13:59:24 2017 +0000"
      },
      "message": "gma hsw+: Treat DDI E and PCH DAC disabling separately\n\nWe only use DDI E for analog VGA outputs through the PCH DAC. DDI E\nmight be configured differently, though, by a previously running dri-\nver, so we have to treat the two entities seperately on the All_Off()\npath.\n\nChange-Id: I603ecd29c48af43bc21acaadbedaeae451acbcf3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20822\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "907e4157aab4b0fb078e2a81ca9f21fade4ba257",
      "tree": "8e0a627f6eeb243aaf1c40c3fa82f709bd786d16",
      "parents": [
        "19729a747bb78d4e5d4babfc6b9680b2ec0e5bb2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 29 21:18:59 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 13:55:14 2017 +0000"
      },
      "message": "gma hsw+: Don\u0027t use DDI E if DDI A uses all lanes\n\nDDI E shares its two lanes with DDI A. If DDI A is configured to use\nall four lanes, DDI E is disabled. As DDI E is the only DDI that can\nbe configured in FDI mode to feed the PCH DAC, treat `Analog` as in-\nvalid in this configuration.\n\nChange-Id: I94e9537c9f30d0cbf757b816f38d44e1b43805b3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20821\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "19729a747bb78d4e5d4babfc6b9680b2ec0e5bb2",
      "tree": "3963b14b90045460a813fa061f68f0aa3f3a714b",
      "parents": [
        "5fd9a319684f71fa6f4dcb77ce8bc9337f5695b7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 30 01:05:05 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 13:54:25 2017 +0000"
      },
      "message": "gma hsw+: Revise Has_DDI_D flag\n\nThe GFX Programmer\u0027s Reference Manuals (PRMs) aren\u0027t clear on this but\nit\u0027s pretty clear from the processor datasheets which SKUs expose which\npins: All U/Y processors lack DDI D.\n\nChange-Id: I84c40b6bc01091de8a512e21354243c74643e0f5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20820\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "5fd9a319684f71fa6f4dcb77ce8bc9337f5695b7",
      "tree": "91c7ec3552b2256c0a8c365db6ceed322587430f",
      "parents": [
        "3b654a0991f1a499a754dd638f57f6d75c89b78e"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Tue Sep 12 12:45:18 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 18 20:45:31 2017 +0000"
      },
      "message": "gma: Fix decoding the size of Stolen Memory on Gen4\n\nThe size of stolen memory needs to be decoded in MiB.\n\nChange-Id: I1ceb9ffd85d6ebb54a0e099e200a5068c34a6251\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/21514\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "3b654a0991f1a499a754dd638f57f6d75c89b78e",
      "tree": "612f7bda047ac430aa90e665e9e1c066e9367c84",
      "parents": [
        "42fb2d065d604eb08c723ac6b96aeebb4c84cbd3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 15 22:27:14 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Sep 13 16:14:59 2017 +0000"
      },
      "message": "gfx_test: Set our own framebuffers up, update README\n\nUse GMA.Setup_Default_FB() to allocate framebuffers in the stolen\nmemory. To help with setups where we can\u0027t unload the i915 driver,\nback up and restore the current GTT setup and framebuffer contents.\n\nAlso add a wrapper script and update the README.\n\nChange-Id: I10790d35d38b7b211f41b2452f6d2baf17372e31\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20604\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\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": "8540805c2900f3f7b40dfc2c520d66c96368e0f7",
      "tree": "882c8116647ed9d43aef29f20bb76a66a08b2c96",
      "parents": [
        "234e772f4266412a56266067a40163f4dea7a2db"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jul 19 14:14:34 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Aug 30 15:14:01 2017 +0000"
      },
      "message": "gma skl: Prevent race by late timeout check\n\nWe initialize the timeout variable before the first event on the other\nside (i.e. us sending a request to PCODE). With very slow debug output\nsending the request itself might take longer than the timeout period.\n\nReorder the code to check the timeout condition only after the first\ntry and thereby make sure that we always try at least twice. Also issue\na debug message in case we timed out.\n\nChange-Id: I8cdeb3e36d7eafbef8a1a8e13670f3f9838a2f38\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/20647\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "234e772f4266412a56266067a40163f4dea7a2db",
      "tree": "699aec386779844cabb738ebfd454018ee4c84c6",
      "parents": [
        "41b18ca031721c28737a1ffaf0cababb0663446a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 27 02:07:31 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 22:09:18 2017 +0000"
      },
      "message": "dp training: Allow to adjust pre-emphasis during clock recovery\n\nThat\u0027s not demanded by the spec but there are sinks in the wild that\nneed it.\n\nChange-Id: Ibef5236ca771e0e02beb4e76650ffb6974657846\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21216\nReviewed-by: Felix Held \u003cfelix-coreboot@felixheld.de\u003e\n"
    },
    {
      "commit": "41b18ca031721c28737a1ffaf0cababb0663446a",
      "tree": "4abad53b278e823c558a5b81c7c717ce08aeb6ad",
      "parents": [
        "1bc496fc832cde66cad36d299cb4f193775a26a4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 27 02:03:04 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 22:09:04 2017 +0000"
      },
      "message": "dp training: Fix channel equalization phase\n\nFirst, allow updates to voltage swing too during channel equalization.\nSpec just says to adjust the settings as requested.\n\nSecond, the loop conditions differ from the clock recovery phase. We\nhave only 6 tries in total but no particular order is enforced.\n\nChange-Id: I4673390d8c0f9a5642702872e5b4ab11f54797c7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/21215\nReviewed-by: Felix Held \u003cfelix-coreboot@felixheld.de\u003e\n"
    },
    {
      "commit": "1bc496fc832cde66cad36d299cb4f193775a26a4",
      "tree": "68777156972175b157b5fe279ac26ac03b24ac41",
      "parents": [
        "c3f66f635352be8f49da55f2727a6fc3093d7e62"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 09 22:23:28 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Aug 28 20:12:45 2017 +0000"
      },
      "message": "gma-display_probing: Only check display type on DVI-I\n\nOn DVI-I connectors the DDC is shared between the analog and digital\nparts. To decide which path to take we checked the digital input bit\nof the EDID. We did this overeagerly for all ports, which broke com-\npatibility with DP adapters (the DP realm is very complex and we are\nsupposed to discover the whole downstream hierarchie, which obviously\nwould be overkill).\n\nChange-Id: Ifc53e8ab985695e6e4ff1d42659826710a50eae9\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/20135\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Felix Held \u003cfelix-coreboot@felixheld.de\u003e\n"
    },
    {
      "commit": "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"
    }
  ],
  "next": "2b6f6992188460bbb10ce2838a981ddc37141755"
}
