)]}'
{
  "log": [
    {
      "commit": "c68cafa3d93b734c1bd5ca0f518f22db32053c9a",
      "tree": "4eba5b42fa69a641ac1720e04fd646749c755f1d",
      "parents": [
        "17b513ed2d0830aec5eb1e65333aa0e0cc061627"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 04 13:56:26 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 28 17:03:36 2022 +0000"
      },
      "message": "gma skylake: Avoid aliasing of Config.State\n\nSPARK rules forbid us to pass `Config.Raw_Clock` (which is a part\nof `Config.State`) as an output to Get_Raw_Clock() as the latter\nalso depends on `Config.State`. Introduce an intermediate variable\nto avoid this.\n\nChange-Id: I721dea522afba9342d92f44aa0fd7708cc079436\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/68109\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "17b513ed2d0830aec5eb1e65333aa0e0cc061627",
      "tree": "f128acb526ae48ba8004919ce4e2c5a0785a0e1f",
      "parents": [
        "3c1ac1884c3cbb64a95947f4f7f732ed1ce97169"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 04 13:36:02 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 28 17:03:22 2022 +0000"
      },
      "message": "gma: Shuffle warning justifications to support old and new tooling\n\nWe annotate a check message because the actual behaviour of Power_Up_VGA\ndepends on the platform we compile for. For the same reason we have to\njustify a warning that the annotation may be spurious. SPARK rules state\nthat the annotation has to directly follow the subprogram\u0027s body. Appa-\nrently that also accounts for the warning justification, so move it\nabove the subprogram body.\n\nChange-Id: I8f879e73b3ea43de7e10532fba6a9b2bb9eecfcf\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/68108\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "3c1ac1884c3cbb64a95947f4f7f732ed1ce97169",
      "tree": "19c06e3867b8398b91ea5b710c4402f2621be4d0",
      "parents": [
        "b636d81a98b4abbe38469135aaaffdf97400c05b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 04 13:12:57 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 28 17:00:24 2022 +0000"
      },
      "message": "display probing: Update warning justification\n\nThe wording for the unused-assignment warning changed. To support\nboth older and newer version of GNATprove, add another justification\nto the existing one.\n\nChange-Id: I832d40a8e515eff63be2b196b18ca7b6f0114914\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/68107\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "b636d81a98b4abbe38469135aaaffdf97400c05b",
      "tree": "68ff79eedee669448375748c4a914ec841f97c77",
      "parents": [
        "420e863442eb72c35fa3b8a32313980853ba4cff"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 04 13:08:26 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 28 17:00:15 2022 +0000"
      },
      "message": "framebuffer filler: Extend loop invariant to assist prover\n\nAutomatically proving that `Linux_Start + Col` is still within\n`Width * Height` only worked sporadically. So we let GNATprove\nshow an intermediate step first to assist it.\n\nChange-Id: I34d5b4d5840fd2b45c4bf3d72abba88487dda2dd\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/68106\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "420e863442eb72c35fa3b8a32313980853ba4cff",
      "tree": "6cfd183b235df313729af7645bc9a04e41e67809",
      "parents": [
        "066e52eeaa329d782ccee96265a6a351fc395bf1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 04 13:04:49 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Nov 28 17:00:03 2022 +0000"
      },
      "message": "dp info: Provide Link_Status\u0027Object_Size and padding\n\nWe convert a plane byte buffer to a `Link_Status` object via an\n`Unchecked_Conversion`. While the situation is actually clear\nto the compiler because of the record representation clause for\n`Link_Status`, SPARK rules demand an explicit `\u0027Object_Size`.\n\nThe `\u0027Object_Size` attribute specifies the exact size the\ncompiler should allocate for objects of the given type. The\n`Padding` field is added to fill the gap left by reserved\nbits.\n\nChange-Id: Id7f6b9f50105d9357adcb60fd551b719d9eccd30\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/68105\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "066e52eeaa329d782ccee96265a6a351fc395bf1",
      "tree": "21308f20f8c42cca8a21c169428ad36c2a48329e",
      "parents": [
        "b789e86d6475e0e347b64fa65f70fedfc4fb9af3"
      ],
      "author": {
        "name": "Elyes Haouas",
        "email": "ehaouas@noos.fr",
        "time": "Mon Sep 26 12:48:47 2022 +0200"
      },
      "committer": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Tue Oct 04 14:04:23 2022 +0000"
      },
      "message": "Fix \"unnecessary with of ancestor [-gnatwr]\"\n\nThese warnings are a bit overeager as some of them only apply once\nunnecessary `use type ...` clauses are adapted. So we do both in\none patch. This partially fixes building with GCC 12.\n\nChange-Id: Id7e88fe9a3ef7cb10cbc427a052e21f12578a3fd\nSigned-off-by: Elyes Haouas \u003cehaouas@noos.fr\u003e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/67833\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "b789e86d6475e0e347b64fa65f70fedfc4fb9af3",
      "tree": "4b3bf856aaf8ef763dacfba002cc045f150406c4",
      "parents": [
        "7769b52d61f14ce2f6a2953dc40d0ec07ab6fea2"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Thu Sep 08 18:06:40 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Oct 04 11:02:33 2022 +0000"
      },
      "message": "dp training: Fix `EQ_Delay` function\n\nThe DisplayPort v2.0 specification does not mention anything about the\ndelay being dependent on the link bandwidth.\n\nChange-Id: I18d118ff1bf013175290a1c9fba4d449c7b00cb4\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/67447\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "7769b52d61f14ce2f6a2953dc40d0ec07ab6fea2",
      "tree": "113f7bf9eb7088053b969a7f7af732db9ca6d222",
      "parents": [
        "f47ec05acb5d6eaf542a03856de2cf2af14b5846"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Thu Sep 08 17:55:20 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 01 13:53:04 2022 +0000"
      },
      "message": "hw-gfx-dp_info.adb: Fix reading `Aux_RD_Interval`\n\nStarting with DP v1.4, the definition of DPCD address 0xe was updated\nto include a new field. Bit 7 now indicates whether a DP receiver has\nan Extended Receiver Capability field, so `Aux_RD_Interval` is now in\nbits 6:0. This change is backwards compatible with older hardware, as\nthe defined values for `Aux_RD_Interval` range from 0 to 4, and bit 7\nis always zero.\n\nHowever, libgfxinit does not make sure the value is valid before using\nit in calculations, so the `EQ_Delay` function may return an extremely\nlarge value if bit 7 is set. To avoid this, add some masks to properly\nobtain the value for `Aux_RD_Interval`.\n\nChange-Id: If22d8dbc0517daeaa043ede30bf69e7a65ab154b\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/67445\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Tim Wawrzynczak \u003cinforichland@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "f47ec05acb5d6eaf542a03856de2cf2af14b5846",
      "tree": "06419902daab6b82d5de6de8b81b46c5c3b95280",
      "parents": [
        "1b04c517b377468b3b470d38607fb539187391dd"
      ],
      "author": {
        "name": "Jack Rosenthal",
        "email": "jrosenth@chromium.org",
        "time": "Tue Apr 12 13:04:33 2022 -0600"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 02 20:18:06 2022 +0000"
      },
      "message": "README: Fix hyphenations in markdown\n\nThese hyphenations do not show properly once the Markdown is rendered\nin (for example) Gitiles.\n\nChange-Id: Ie44b3d4c14215be6cc50692f0063139066751cbf\nSigned-off-by: Jack Rosenthal \u003cjrosenth@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/63588\nTested-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "1b04c517b377468b3b470d38607fb539187391dd",
      "tree": "b515a035eaea2aa11dc8da5fa74b432978efbb7c",
      "parents": [
        "c47872c6569cfd6617b50716d730ecc24c8f2763"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 21:05:47 2021 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 15 09:18:01 2021 +0000"
      },
      "message": "sed: Get rid of \\+\n\nThis also turned out not to be part of POSIX Basic Regular Expressions.\n\nChange-Id: I8d567a53046cd4a557c87b383c5884ebb8e9e774\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55468\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c47872c6569cfd6617b50716d730ecc24c8f2763",
      "tree": "d9f36f13210676ad41918ac2635b5f517e50c5e7",
      "parents": [
        "f20f5fc66ef772cb6ec9614286534edbd82a9efe"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 20:56:03 2021 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 15 09:17:34 2021 +0000"
      },
      "message": "sed: Get rid of \\|\n\nIt turned out that \\| is not part of POSIX Basic Regular Expressions.\nWe\u0027ll have to explicitly specify individual sed scripts per case, at\nleast `make` assists us with some repetition.\n\nChange-Id: Ifb24d0d5aa0e2a0a231ce0fc7c5dddc3e28088a5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55467\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f20f5fc66ef772cb6ec9614286534edbd82a9efe",
      "tree": "cf2cfb40b37e92c72da0e1577377b46ed58bb1c5",
      "parents": [
        "ce63df3044f9d13b09c95f4aad89efe996d0cc40"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 20:49:03 2021 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 15 09:16:18 2021 +0000"
      },
      "message": "sed: Replace \\(...\\)\\? with \\(...\\)*\n\nIt turned out that \\? is not part of POSIX Basic Regular Expressions.\nWith *, we might match too much, but for the current cases we are good.\n\nChange-Id: Ia99d34c262418949f73340b58af1cf8d5c74f031\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55466\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ce63df3044f9d13b09c95f4aad89efe996d0cc40",
      "tree": "2a5672417792f3c1091b861eb1b3d9b16ef30563",
      "parents": [
        "04f919c030ff0b35223a75da295b7f2d05bfbb39"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 20:45:32 2021 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 15 09:16:10 2021 +0000"
      },
      "message": "sed: Drop unnecessary, optional match\n\nThe line matches no matter if there is a `_Var` suffix or not.\n\nChange-Id: I06e7e1769888b82f2bfbb6897d189b497d833d70\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55465\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "04f919c030ff0b35223a75da295b7f2d05bfbb39",
      "tree": "79c2f6bc185c17efc5d7e0418c1423bf89db1e6b",
      "parents": [
        "5c1e43a65bf524acf026ff60e1ca628224ed8362"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 20:37:17 2021 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 15 09:16:05 2021 +0000"
      },
      "message": "sed: Replace hack\u0027ish command line with script file\n\nAdd `common/delete_dyncpu.sed` that replaces the ugly attempt to\ndo it inline.\n\nChange-Id: Ief65038ae5e798d18403565d8a7ede3ecb918bb6\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55464\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "5c1e43a65bf524acf026ff60e1ca628224ed8362",
      "tree": "9868b22bc446e7ba9590bc9930078247a62f54ff",
      "parents": [
        "30d897167d0d909e438c119909ab2f4403baf005"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 02 11:52:11 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 15 09:05:53 2021 +0000"
      },
      "message": "dp aux: Handle partially acked multi-byte I2C writes\n\nThere is another case when we have to keep querying the I2C status\nafter starting a write transaction: When some bytes were already acked,\nwe receive an I2C-ACK for them and the number of bytes ack\u0027ed. So\nre-write the loop such that it always continues until one of these\nconditions occur:\n\n* We receive an I2C-ACK without additional data: This means\n  all remaining bytes have been ack\u0027ed.\n\n* The summed up number of transferred bytes reaches the\n  number of written bytes.\n\n* We get an I2C-Defer but have re-tried too often without\n  getting additional ACKs.\n\n* We get an I2C-NAK.\n\nChange-Id: I794dc1587f56b81539d1d4796f754644172f89b7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/52826\nTested-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "30d897167d0d909e438c119909ab2f4403baf005",
      "tree": "4b3f66a778fb42532579aa1190b92289f4d32540",
      "parents": [
        "283e2a3ad25c5a24e1204a094af5d5aa638a8808"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 11 14:13:24 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 20:11:44 2021 +0000"
      },
      "message": "gfxtest: Re-arrange debug output to avoid dynamic allocation\n\nNewer compilers seem to allocate space for the concatenated string,\nhowever libhwbase\u0027 strict profile doesn\u0027t allow it.\n\nChange-Id: Id852f8e72846a0f55518bb1fdf5ea43192f9db9b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55426\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "283e2a3ad25c5a24e1204a094af5d5aa638a8808",
      "tree": "1fbb5119ddfb103258266231a8ef747f3685e8a8",
      "parents": [
        "87bd381fdcb0c99a441cd9f61ccee43e5c724435"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 11 13:36:12 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 20:11:21 2021 +0000"
      },
      "message": "gma broxton: Move `null` implementation of procedure\n\nNewer compilers say the `Global` annotation of the null procedure is\nillegal. However, we need that annotation to have a stable interface\nfor multiple platforms.\n\nMove the \"implementation\" into the body file, so we are not bothered\nby the compiler a little longer.\n\nChange-Id: I4b6f8a5af64097b394fabe4d9e1a735650615fa8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55424\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "87bd381fdcb0c99a441cd9f61ccee43e5c724435",
      "tree": "df0796a4f34c89c4f541563a2f9b0d47e8041aaa",
      "parents": [
        "8d5c24dddd04392e78578a41e574e15a487e3033"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 11 13:33:51 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 13 20:11:11 2021 +0000"
      },
      "message": "Revert \"gma config: Enable Restrictions (No_Elaboration_Code)\"\n\nThis reverts commit 8a9062a0842c70920ac1c95ba48b7d4f2e1538f0.\n\nIt was assumed that pragma No_Elaboration_Code would force the compiler\nto avoid elaboration code. However, it turns out that it merely checks\nwhat the compiler did.\n\nNewer compiler versions sometimes choose to add elaboration code where\nothers didn\u0027t. So we have to disable the pragma until we find a way to\nforce compile-time elaboration.\n\nChange-Id: I1b0328c53add53ea713d1ceec3f24b7751363483\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/55423\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "8d5c24dddd04392e78578a41e574e15a487e3033",
      "tree": "f0a8de3546d832459dfaec2051b395fe8d230bd1",
      "parents": [
        "0a8174bdf23ad947e85de7cadbaa0e5fd6d6e290"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Mon Mar 01 15:59:58 2021 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 11 12:12:18 2021 +0000"
      },
      "message": "Add support to switch LSPCON modes\n\nLSPCON is a level shifter and protocol converter chip. It is principally\nused to convert DisplayPort into HDMI 2.0, since some Intel iGPUs do not\nhave native HDMI 2.0 support. The chip defaults to LS mode, in which the\ndisplay engine has to generate an HDMI-protocol signal, which the LSPCON\nconverts from DisplayPort signal levels to HDMI signal levels.\n\nAdd code to detect LSPCON chips and put them in protocol-converter mode.\nThis way, the LSPCON behaves like a regular DisplayPort sink. This needs\nto be done before any DPCD accesses, because the LSPCON does not respond\nto DPCD accesses in level-shifter mode.\n\nTested on Purism Librem Mini v1 (WHL-U), HDMI port can now light up.\n\nChange-Id: Idfa9bdff47a6591000cd5092d64a4cd4f8dbdc8d\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/51133\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "0a8174bdf23ad947e85de7cadbaa0e5fd6d6e290",
      "tree": "3f132aebf047dd7a167b2a94741de5d98e6df3b4",
      "parents": [
        "ae186bdb6abe2be7e89be94d000077cde4f53e21"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Mon Mar 01 01:51:08 2021 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu May 06 19:27:28 2021 +0000"
      },
      "message": "gfx dp_aux: Add I2C_{Read,Write}_Byte procedures\n\nThese will be used to switch LSPCON modes in subsequent commits.\n\nChange-Id: Ib66b073691282d0c89710b0591484d4123e039b7\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/51122\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "ae186bdb6abe2be7e89be94d000077cde4f53e21",
      "tree": "ce0c679c951a22b4e25f6d3eb447201aa9cab9f8",
      "parents": [
        "bc0588e482b1320d5739900b00a45033f5b587f4"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Wed Oct 21 21:37:34 2020 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu May 06 19:26:38 2021 +0000"
      },
      "message": "gfx gma skylake: Implement some workarounds\n\nWithout these workarounds, gfx_test will leave a WHL-U Librem Mini v1 in\na state where entering low-power states results in a hang. With these\nworkarounds, the system no longer locks up after running gfx_test. Looks\nlike the hang does not happen when coreboot runs libgfxinit.\n\nSteps to reproduce the hang:\n- Boot Linux without loading i915.\n- Run gfx_test without the workarounds.\n- After gfx_test exits and the machine enters a low-power state,\n  it will lock up.\n\nIf something keeps the CPU from getting into low-power states (e.g.\n`cat /dev/zero \u003e /dev/null`), the machine will not lock up. However,\nstopping the load task after gfx_test has run will result in a lock-up.\n\nChange-Id: I4cd64cf4c1e702dc05709adc345a976a4e3c1ded\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/46635\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "bc0588e482b1320d5739900b00a45033f5b587f4",
      "tree": "7ff658d42b39c286fc60675472bc24e6697aeae9",
      "parents": [
        "994971af45dc06d0064e1b1bfd1d3c27989f107d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jul 21 12:17:19 2020 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 21 17:53:57 2020 +0000"
      },
      "message": "gma: Export backlight control interface\n\nChange-Id: I5a157d7849124fd3b4cca8f9de1d605092fd3c5e\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/43668\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "994971af45dc06d0064e1b1bfd1d3c27989f107d",
      "tree": "bc9704d04299c7307e7c929c62d16dcda18ee181",
      "parents": [
        "dde0630af418e6a3c2cd391579df5cea7350095a"
      ],
      "author": {
        "name": "Michael Niewöhner",
        "email": "foss@mniewoehner.de",
        "time": "Sun Dec 20 15:44:13 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 21 17:40:35 2020 +0000"
      },
      "message": "gma: actually enable/disable backlight with new backlight control\n\nIn order to enable or disable the backlight on platforms with the new\nbacklight control, both enable bits in the PWM register and the\nPP_CONTROL register need to bet set. Currently, the code only sets one\nor the other.\n\nAlso, reverse the order in the disable case so that PWM gets disabled\nafter the backlight enable bit in PP_CONTROL.\n\nTested successfully on Clevo L141CU (CML).\n\nChange-Id: Ib3827e744e86a9d29e09da3c5fd44d226f0b41b5\nSigned-off-by: Michael Niewöhner \u003cfoss@mniewoehner.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/48770\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "dde0630af418e6a3c2cd391579df5cea7350095a",
      "tree": "01e7ddbdeed2e2c157da9207e0d0e9dea4f1bf82",
      "parents": [
        "e79babd08dec690b3ed44882af8660ff241260f7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 20 02:18:30 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 21 17:40:13 2020 +0000"
      },
      "message": "gma: Add `Cannon_Point` PCH\n\nIt almost behaves the same as its predecessors Union and Sunrise\nPoint. GMBUS pins and panel and backlight controls are updated to\nthose of Broxton. It also allows an alternative `Raw Clock` of\n19.2MHz.\n\nChange-Id: I86fe26a351d2c3c736b6acc85f718fd103d276bb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/48763\nReviewed-by: Michael Niewöhner \u003cfoss@mniewoehner.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "e79babd08dec690b3ed44882af8660ff241260f7",
      "tree": "bebf0c33a538b5169cf3345112dd85aefd48a12e",
      "parents": [
        "c9ad9de6ce8109b125e75976c24f2c868730c94e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 20 01:33:26 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 21 17:39:56 2020 +0000"
      },
      "message": "gma: Introduce `PCH_Type`\n\nWe got this far without it but now there is a PCH (Cannon Point)\nthat is not fully compatible to its predecessors but works with\nthe same CPUs. First, introduce the type and make use of it in a\nfew cases. In a follow-up, we\u0027ll add the new PCH.\n\nChange-Id: I9d4965f110da3613749023143cf75123e63ae76e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/48762\nReviewed-by: Michael Niewöhner \u003cfoss@mniewoehner.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "c9ad9de6ce8109b125e75976c24f2c868730c94e",
      "tree": "a7fc1ccec708043e8f07d19ec83e7b63661710eb",
      "parents": [
        "3318bf26803c77d41b18bef6d7ae4e051b97f9f2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 20 02:34:37 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Dec 21 17:39:47 2020 +0000"
      },
      "message": "gma: Fix setting of `Raw Clock` scratchpad\n\nOn some platforms, we determine the `Raw Clock` frequency at runtime.\nMake sure that we write the up-to-date value in PCH_RAWCLK_FREQ.\n\nChange-Id: I50c299f6861ef313f2f11d146c4efa7204d53296\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/48761\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Michael Niewöhner \u003cfoss@mniewoehner.de\u003e\n"
    },
    {
      "commit": "3318bf26803c77d41b18bef6d7ae4e051b97f9f2",
      "tree": "7221815caa0f6f5601e3186b7f56c4856fe10e24",
      "parents": [
        "450c24cbf61b758ffa39cde702015c99eb46a8f0"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Sun Jul 19 18:38:32 2020 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 19 18:15:36 2020 +0000"
      },
      "message": "Drop generation suffix from `Power_And_Clocks`\n\nThere\u0027s no need to differentiate between `Power_And_Clocks` packages for\ndifferent generations anymore.\n\nChange-Id: Ide297d52959285e93185c84690a343a2679282db\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/43597\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "450c24cbf61b758ffa39cde702015c99eb46a8f0",
      "tree": "7ea770b5c3f41d73f1e4c7bc25139b7083b427ac",
      "parents": [
        "3f86b0b121ff5f07d5d1ab5c1b210ea92620bb30"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Wed May 13 00:49:52 2020 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 19 18:04:00 2020 +0000"
      },
      "message": "haswell: Make VGA on FDI work\n\nAttempting to light up a 1920x1080 monitor through VGA with libgfxinit\non Haswell would either hang the system or show garbage on the monitor.\nThis was due to two different problems around FDI initialization code.\n\nThe system would only hang if libgfxinit was the first program to light\nup a monitor on VGA. This is because no one had performed the required\nFDI mPHY initialization that is described on the Haswell graphics PRMs.\nAdd it to libgfxinit alongside some code to disable bending CLKOUT_DP.\n\nEven with the FDI mPHY initialization in place, the garbage would still\nbe present on the VGA monitor. Digital interfaces were not affected.\nBy carefully dumping and comparing the display registers of a good and\na bad case, it was determinted that the fault was due to a mismatched\nlink width for FDI. The FDI link between the iGPU and the Lynxpoint PCH\ncan operate in either x1 or x2 width, depending on the bandwidth needs\nof the monitor on the PCH\u0027s VGA port. To drive a 1920x1080 VGA monitor,\nit is necessary to use both FDI lanes. Moreover, both ends of the link\nneed to be configured to use the same link width. However, the wrong\nlink width was assumed when configuring the display pipe, because\n`DP.Lane_Count` was used unconditionally instead of `FDI.Lane_Count`.\n\nAfter fixing both issues, gfx_test is able to light up a 1920x1080 VGA\nmonitor on the Asrock B85M Pro4 successfully, even after a S3 resume.\n\nChange-Id: Ieabe3b7f947be2ef488ddb57bfeae85fa055d360\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/41343\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "3f86b0b121ff5f07d5d1ab5c1b210ea92620bb30",
      "tree": "8bef2905e89040626ee649e5ae1f1f85c1488112",
      "parents": [
        "c0db994900fe9dabff9efd1b7fc547288a68c6c0"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Sat Jul 18 00:22:32 2020 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 19 17:38:39 2020 +0000"
      },
      "message": "Move `PSR_Off` out of `Power_And_Clocks_Haswell`\n\nAllowing other platforms to use the Haswell-specific power and clocks\npackage precludes with\u0027ing other Haswell-specific units unless they are\nplaced under `haswell_shared` as well. This unnecessarily forces several\nimplementation-specific details to be public, breaking encapsulation.\n\nThe only benefit is that the `PSR_Off` procedure gets to be shared.\nHowever, we can allow reusing said procedure without having to destroy\nencapsulation, by moving it elsewhere. As the SRD/PSR registers are tied\nto transcoders, place `PSR_Off` and the corresponding definitions to the\ncommon `Transcoder` package. Also update the callers of this procedure\nto refer to the `Transcoder` package, and then drop the visibility of\nthe power and clocks package for Haswell.\n\nChange-Id: I7483409b8b7db58874cbba3c0a7edb1968bba456\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/43563\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "c0db994900fe9dabff9efd1b7fc547288a68c6c0",
      "tree": "863bb5166f70c72dc99bf6e22534abd0ea23423d",
      "parents": [
        "8fc8e49a932c7a011429b333765c6b0ed09cd742"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Sun Jun 14 15:23:58 2020 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jul 19 17:38:06 2020 +0000"
      },
      "message": "common/Makefile.inc: Factor out generation TLAs\n\nThe Three Letter Acronyms that correspond to generation names appear\nfour times inside complex sed-fu. As they are the same, factor them out.\n\nSanity-checked by building gfxtest for Haswell, whose executable remains\nidentical regardless of whether this commit is applied or not.\n\nChange-Id: I63cb24d7334359d39aca4682632c3b9b6b698d43\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/42365\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "8fc8e49a932c7a011429b333765c6b0ed09cd742",
      "tree": "c901c667d80d1f7cd112218865e6d86c7567dcbe",
      "parents": [
        "2a3dbba70335e0a0f96c25075f541d744501aba8"
      ],
      "author": {
        "name": "Matt DeVillier",
        "email": "matt.devillier@puri.sm",
        "time": "Fri May 15 15:44:47 2020 -0500"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 18 16:27:30 2020 +0000"
      },
      "message": "common/Makefile.inc: eliminate duplicate substitutions\n\nSeveral config substitutions are duplicated, move them to a variable and\nreference that instead.\n\nChange-Id: Id5d3f33ba87039eb233e5013cc688b76f7e2691b\nSigned-off-by: Matt DeVillier \u003cmatt.devillier@puri.sm\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/41434\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "2a3dbba70335e0a0f96c25075f541d744501aba8",
      "tree": "f777a9f2541b538bb01ad04f744690f1fd17faa5",
      "parents": [
        "2e87c0d40a387c5b1f1afd3ce61ecdc7dad0e3e8"
      ],
      "author": {
        "name": "Matt DeVillier",
        "email": "matt.devillier@puri.sm",
        "time": "Thu May 14 17:34:13 2020 -0500"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 18 16:27:24 2020 +0000"
      },
      "message": "gma config: allow override of presence straps\n\nA handful of boards do not properly implement the presence straps,\nleading libgfxinit to fail to detect an attached internal display.\nAdd an override which can be set by coreboot for affected boards.\n\nChange-Id: Iabf0fac3a8431ffceb81cd583bb05f9c28e8ad64\nSigned-off-by: Matt DeVillier \u003cmatt.devillier@puri.sm\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/41415\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "2e87c0d40a387c5b1f1afd3ce61ecdc7dad0e3e8",
      "tree": "3bf6c4ccefca7193eaa1474f4151033aa3935cfc",
      "parents": [
        "cdbfce275777f2fd142e3a3c73469807a4c40207"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Apr 18 00:46:39 2020 +0200"
      },
      "committer": {
        "name": "Matt DeVillier",
        "email": "matt.devillier@gmail.com",
        "time": "Fri May 08 21:40:53 2020 +0000"
      },
      "message": "gma: Map dummy PTEs for buggy VT-d\n\nExtend Setup_Default_GTT() to add 128 dummy page table entries\nafter the framebuffer. Apparently the IOMMU may report spurious\ntype 6 errors if nothing is mapped in this range. Also check for\ncorrect alignment of the start of the framebuffer and that the\nadditonal PTEs fit into the GTT.\n\nWithout such dummy entries, an OS driver might report failed\nreads at random addresses. It may or may not look like this:\n\n    DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr\\\n    5669eb8000 [fault reason 06] PTE Read access is not set\n\nChange-Id: I1b97c6b44c1ffb37d119541c1c97ffe21d244da8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/40499\nReviewed-by: Michael Niewöhner\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\n"
    },
    {
      "commit": "cdbfce275777f2fd142e3a3c73469807a4c40207",
      "tree": "5c723d5cfdbcea064ecf36d954e3b76e6ebd3e98",
      "parents": [
        "5dbaf4bb1d30b27f5b8988a28820beda48f3a46c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Oct 29 20:00:43 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 08 12:34:59 2020 +0000"
      },
      "message": "gma config: Add Comet Lake PCI IDs\n\nComet Lake is still treated like Kaby Lake :)\n\nChange-Id: I543f1a50c204d963de80111aa0afd724e4093c4a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/36443\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "5dbaf4bb1d30b27f5b8988a28820beda48f3a46c",
      "tree": "11b5b8a98dec8d5e8fe11c9668e524fef5b6e578",
      "parents": [
        "1f63d51dc055276fa1a0f3552bf1bfc1a07ad8bb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 08 17:24:58 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:15:41 2020 +0000"
      },
      "message": "gma bxt panel: Allow to use secondary panel control logic\n\nBroxton has control logic for two panels. Reflect that.\n\nFlow analysis fails if we initialize globals in Setup_PP_Sequencer.\nHence, move the call to Static_Init out.\n\nChange-Id: Ie84d21a07a0f064f993a54b277e051b8d1ca541c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38276\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "1f63d51dc055276fa1a0f3552bf1bfc1a07ad8bb",
      "tree": "c6f5fae817de7237be518d96cde8705cd13da74d",
      "parents": [
        "3ea5d605ba64a8a204dd78814f3ea1598e4b7d6f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 08 14:10:40 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:36 2020 +0000"
      },
      "message": "gma bxt panel: Correct panel backlight handling\n\nChange-Id: Icfad261fb4d5ff478974948c0148880c5b8cb40c\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38265\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "3ea5d605ba64a8a204dd78814f3ea1598e4b7d6f",
      "tree": "830bc463748887ce1135b92cd798a3f6ec507e38",
      "parents": [
        "7050d2d8a4fb3c8b36fa1ba1ed87da34f869ad35"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 06 17:57:59 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:30 2020 +0000"
      },
      "message": "gma bxt panel: Correct power-cycle delay programming\n\nChange-Id: Iff53ef5730691c3be1ebcda71428e2bfe9ae16fd\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38264\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "7050d2d8a4fb3c8b36fa1ba1ed87da34f869ad35",
      "tree": "a544760a589af0c418bcc241bc8d521cf367faf6",
      "parents": [
        "2bbd6e7c6044d7c3fb5607834d00e4e7d83a2ada"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 08 13:25:41 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:26 2020 +0000"
      },
      "message": "gma bxt: Add panel power and backlight register definitions\n\nChange-Id: I71684b361af421dd7962431cf3eebe2b2769028e\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38263\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "2bbd6e7c6044d7c3fb5607834d00e4e7d83a2ada",
      "tree": "9d39e3333feda6885ff63692c935e4ac114fb3a3",
      "parents": [
        "8a6e7bd43caef134bcb9616da9be3b4344850123"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 18:22:59 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:18 2020 +0000"
      },
      "message": "gma panel: Introduce `Panel_Control` type\n\nFor now, `Panel_Control` only distinguishes `Panel_1` from `No_Panel`,\ni.e. if a port has a panel attached or not. To ease future addition of\nsupport for more than one panel, we already add loops and arrays around\nit, though.\n\nWith the information, if a port has a panel attached, in `Port_Config`,\nwe can pass that on into Panel.* procedures and let those decide what\nto do (e.g. do nothing if no panel is attached).\n\nChange-Id: I83864bc86b48f65d9ba43e083b805ca09497cbb0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38243\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "8a6e7bd43caef134bcb9616da9be3b4344850123",
      "tree": "e4ea68ea709dcdbbf09de27177b4e4a639ce4fab",
      "parents": [
        "8beafd74958561988d29ba0897e057d4f3204a27"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 16:36:38 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:11 2020 +0000"
      },
      "message": "gma panel config: Turn `internal display type` into a `panel port`\n\nInstead of querying for the type of the internal display (LVDS vs. DP),\nmake it a choice of the port that has a panel hooked up. As some plat-\nforms actually have support for two panels, we prepare for that by\nnaming it `Panel_1_Port`.\n\nWe still need to call into the panel logic, when the respective port\nis enabled. This will be done in the next commit.\n\nChange-Id: Id3c78441857d07fb34274b9abd3ae6ea42909ff6\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38242\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "8beafd74958561988d29ba0897e057d4f3204a27",
      "tree": "1676c1e615c4714b9c2394ffd8bf1260ed73b7da",
      "parents": [
        "fe7985f2a0692bc773d470a92ec54d22d3c12e4b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 14:59:44 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:05 2020 +0000"
      },
      "message": "gma: Split `Internal` port type into `eDP` \u0026 `LVDS`\n\nWe used to have a single type `Internal`, in the GMA interface, to\nrepresent the port for any internal panel. This seemed suitable as\nall mainboard targets used the additional panel logic (power se-\nquencing, backlight) only with either one of the eDP and LVDS ports.\n\nHowever, the hardware allows to combine the panel logic also with\nother ports. And some of the regular DP ports are even mentioned as\nalternatives to the dedicated eDP port.\n\nAs a first step towards supporting such less common combinations,\nwe get rid of the single `Internal` type. All the panel logic still\nassumes that either the dedicated eDP or the LVDS port is used for\nan internal display. We introduce `Internal_Port_Type` to represent\neDP and LVDS, for this. But it should vanish, once the panel logic\nis adapted.\n\nChange-Id: Iadf3c11bd35d085cf47a961e800b0d96b79f62f5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38239\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "fe7985f2a0692bc773d470a92ec54d22d3c12e4b",
      "tree": "b2b48169105a807ed34b5db98fd5de6ea105bab6",
      "parents": [
        "a563ec22ad68d4ac516caf39431c8dbbebf2b430"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 12 22:19:24 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:48:20 2019 +0000"
      },
      "message": "gma: Fix GTT size reading for Gen8+\n\nIt seems the GTT size is not given in MiB any more but as a power\nof 2 of MiB.\n\nChange-Id: I13e40ad1d389d389c6fab6b2b42895179649f6da\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35999\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "a563ec22ad68d4ac516caf39431c8dbbebf2b430",
      "tree": "3d7539063e7add622da7e4f93365bc187ec9b114",
      "parents": [
        "92de9c4c1714dba9df91473bc049f3636f7ca6d6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 19:07:27 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:44:18 2019 +0000"
      },
      "message": "gfx_test: Refactor animation loop and handle hotplug events\n\nThis had a little too many indentation levels already. So move\nmuch of the main loop into its own procedure `Run_The_Show()`.\n\nIn all inner loops, we regularly check for hotplug events now\n(every 500ms). To avoid tracking the time passed even in cases\nwhen we got interrupted by a hotplug event, we switch to a glo-\nbal deadline. This also gives us a more predictable runtime.\n\nChange-Id: Ib3bfc462e5be9a7a08fec5a8ead77c8631674bcf\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35721\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\n"
    },
    {
      "commit": "92de9c4c1714dba9df91473bc049f3636f7ca6d6",
      "tree": "f4130bc86ff48891f416cd7c5294d0785aab7c98",
      "parents": [
        "b0bbdbc215e3d197441a30f3b2fae4714decd38b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 19:03:58 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:43:46 2019 +0000"
      },
      "message": "gma display_probing: Add Hotplug_Events()\n\nThe Hotplug_Events() procedure returns a list of ports with hotplug\nevents. The events are automatically cleared, so it\u0027s the caller\u0027s\nresponsibility to act accordingly (e.g. run Update_Outputs() with\nupdated configurations).\n\nChange-Id: Iff5e812d3119bfd44f5ea58e5086aa3ccba7c0bf\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35720\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\n"
    },
    {
      "commit": "b0bbdbc215e3d197441a30f3b2fae4714decd38b",
      "tree": "db7a0ac45dc47f88b68f5789b6acc844ead51636",
      "parents": [
        "8469b0089aa06fe196e23a2853d81d661cd21de8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Sep 27 22:32:21 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:40:42 2019 +0000"
      },
      "message": "gma: Automatically update CDClk and dot clocks\n\nDot clocks should be limited, depending on CDClk. This comes with a\ncaveat: if a display only works at a specific refresh rate, we will\nlikely fail without knowing. It seems to be better, though, to try\nat least. We can implement a config switch controlling this beha-\nviour, later, if needed.\n\nIf we can raise / lower CDClk with a given set of dot clocks, we\nhave to disable all pipes first, then switch CDClk, and finally\nenable all pipes with their new configuration.\n\nCalling Update_Outputs() with all pipe configs disabled may disable\nthe CDClk. So we have to ensure it is enabled when trying to probe\nfor displays.\n\nChange-Id: I375f2bd37c921cd5ed4b0094247df5a34a087188\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35719\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "8469b0089aa06fe196e23a2853d81d661cd21de8",
      "tree": "e91813715de2c0454983cc5a31e7b07fb99eccdc",
      "parents": [
        "6b4678d6aad8c9025c6e5b649a6af36cfe0b3d61"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 22 21:31:52 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:37:14 2019 +0000"
      },
      "message": "gma bxt: Implement CDClk switching\n\nAgain, very similar procedure to the previous generations. The\nCDClk is limited to 624MHz (no fuses). Dot clocks can run at the\nfull CDClk speed.\n\nIf all pipes are disabled, we set CDClk to its reference rate.\nIn this state, the display engine is not operational and neither\nare the DP Aux ports. So we have to implement Enable_CDClk() to\nallow display probing without any pipe enabled.\n\nChange-Id: I7bccbce0625a9893e2dd5c06fd1475a44987989d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35718\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6b4678d6aad8c9025c6e5b649a6af36cfe0b3d61",
      "tree": "642ab6f35aabf09d76c6bcbd77587611c408a8b1",
      "parents": [
        "d0f84b9acd65e047876c36b4571f1e4da17c4b23"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 22 21:31:52 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:34:06 2019 +0000"
      },
      "message": "gma skl: Implement CDClk switching\n\nFlow is roughly the same as for Broadwell. Maximum CDClk is now\ncompletely controlled by fuses, though. The same frequencies are\nsupported and dot clocks can run at full CDClk speed.\n\nChange-Id: Ic14cf5981540d36d3f337a43bbec3574be0d3c99\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35614\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d0f84b9acd65e047876c36b4571f1e4da17c4b23",
      "tree": "2a318a99cb2e0c7ba2b5021ac9f045c38347adb8",
      "parents": [
        "1eb5faa2eeca93b911af51bdbea854d286bfab81"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 22 21:31:52 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:27:46 2019 +0000"
      },
      "message": "gma hsw: Implement CDClk switching\n\nFor Haswell, we only read out the current CDClk setting and work with\nthat (CDClk is supposed to be set only once per boot, so we leave that\nto the firmware). Broadwell supports actual frequency switching, with\nthe following limits:\n\n  o a fuse may restrict us to 450MHz,\n  o ULX supports at most 450MHz w/o additional cooling,\n  o ULT supports at most 540MHz w/o additional cooling,\n  o others support up to 675MHz.\n\nWe assume there is no `additional cooling`. With the CDClk now being\nswitchable, we have to update `DP_Aux_Request` to assume the current\nCDClk frequency instead of the default.\n\nDot clocks, on these platforms, may run with full CDClk speed.\n\nChange-Id: I8fb23a49b334f9f0045884c3af4087764397b941\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35717\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1eb5faa2eeca93b911af51bdbea854d286bfab81",
      "tree": "ec391081c9fc898d7874a4b6d2acc0b4936fe3ba",
      "parents": [
        "b47a5c479358a4cecf2589295b37954edd1e36e5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 00:35:55 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:20:15 2019 +0000"
      },
      "message": "gma ilk: Handle CDClk and calculate dot-clock limits\n\nThis one is easy, the CDClk always runs at the same fixed rate. We\nonly have to limit dot clocks to 90% of CDClk.\n\nChange-Id: I475a276d050f5a109b44c02ee250c9f4a9ebe863\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35716\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b47a5c479358a4cecf2589295b37954edd1e36e5",
      "tree": "8a84cb4ae9f3f8384e233c61eeb1de6c32b3d423",
      "parents": [
        "07ff1b95bb1db12cc3d01e3f542338d25eb2dbf3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 00:07:21 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:19:16 2019 +0000"
      },
      "message": "gma g45: Read CDClk and calculate dot-clock limits\n\nNumbers are taken from `intel_cdclk.c` of Linux\u0027 i915 driver.\n\nWe introduce three new procedures to the `Power_And_Clocks` interface:\n\n  o Limit_Dotclocks() limits the dot clocks of all pipe configs\n    according to the maximum supported CDClk. It also reports if\n    CDClk has to be switched for these configs.\n\n  o Update_CDClk() performs the CDClk switch if necessary. It may\n    further limit the dot clocks if the switch didn\u0027t succeed.\n\n  o Enable_CDClk() ensures that the CDClk is running. This may be\n    necessary to probe for DP displays when no pipes are active.\n\nThe latter two are no-ops for G45, as the CDClk runs at a fixed rate.\nDot clocks are limited to 90% of CDClk.\n\nChange-Id: Ie50c0f8f51b3a0a6ed58c6461069c556cc92f51e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35715\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "07ff1b95bb1db12cc3d01e3f542338d25eb2dbf3",
      "tree": "5b4f0b23b6ba2ec06a9fef1fa333ce3f0ba4e392",
      "parents": [
        "3d3452f167b4e1e9ec3c438dfb8ff5a480e9d92c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 00:03:17 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 12:16:34 2019 +0000"
      },
      "message": "gma config: Allow to cache CDClk in variable config state\n\nAdd `CDClk` and `Max_CDClk` fields to the variable config state.\nThey will be used to cache the current hardware state, so that\nwe don\u0027t have to poke registers in every call to Update_Outputs().\n\nAlso introduce `CDClk_Range`, which is chosen such that common\ndot-clock limits (90% of CDClk) are in range of `Frequency_Type`.\n\nChange-Id: I3d9c956eabcedb2f8299a1642ff0172cd7f54e45\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35714\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "3d3452f167b4e1e9ec3c438dfb8ff5a480e9d92c",
      "tree": "32147e8e5772b23a6ba9dc0a61c7b209b1033973",
      "parents": [
        "04c1d01f2bd5b67f0fcb8f620ac83b7b84c47966"
      ],
      "author": {
        "name": "Greg V",
        "email": "greg@unrelenting.technology",
        "time": "Tue Oct 08 02:05:05 2019 +0300"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 17 19:56:43 2019 +0000"
      },
      "message": "dp_info: read eDP 1.4+ DPCD link rates\n\nThis is required for google/eve (Pixelbook), where only this new\nmethod of reporting the link rate is supported, and the\nMax_Link_Rate in the regular DPCD struct is 0x00.\n\nChange-Id: I52b4d8ad94564904854b502f300b812c41a9751a\nSigned-off-by: Greg V \u003cgreg@unrelenting.technology\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35869\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "04c1d01f2bd5b67f0fcb8f620ac83b7b84c47966",
      "tree": "de0abb877d2249522b0dfe081a51cd901bb4d383",
      "parents": [
        "f6a2d18329c7183ebfe90ea38852defed2d4e2bf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 03 22:28:21 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 06 14:40:19 2019 +0000"
      },
      "message": "gma ilk hdmi: Add workaround for enable-bit quirk\n\nThe HDMI-enable bit is quirky, too. We are supposed to always set\nit twice.\n\nChange-Id: I9d093ff9a3178e01638f65b0607bc8d08c009978\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35784\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f6a2d18329c7183ebfe90ea38852defed2d4e2bf",
      "tree": "d0ab034df3f86fa1a25a0d776c5a7e0b162b3562",
      "parents": [
        "6c10d367eb169cc3f07053785fd000b382874672"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Oct 01 10:37:49 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 06 14:39:48 2019 +0000"
      },
      "message": "gma ilk: Handle Ibex Peak DP correctly\n\nWe missed some bits specific to Ibex Peak DPs. Namely, the training\npattern selection moved and we have to select the transcoder in the\n`DP_CTL` register as there is no separate DP transcoder register.\n\nThe latter is quirky, however. If a port (DP or HDMI) is disabled\nwith the second transcoder selected. This selection sticks and the\nsibling port (e.g. DP2 to HDMI2) can\u0027t be enabled with the first\ntranscoder. As a workaround, we are supposed to enable a port that\nwas using the second transcoder with the first transcoder selected\nagain.\n\nChange-Id: I0c1fafc2ba113aeeaf4ace750b333cc270bca37c\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35740\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "6c10d367eb169cc3f07053785fd000b382874672",
      "tree": "98c32c8cca2fea624303c051b423f7dcda97c451",
      "parents": [
        "530651bfb439d37abb0f07593d7ab604f2419a18"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Oct 02 00:28:19 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 06 14:12:49 2019 +0000"
      },
      "message": "Increase range of our main Frequency_Type\n\nIncrease `Frequency_Type` to 1MHz .. 2.5Ghz. We used to adapt it\nwhenever necessary, e.g. when a new generation supported higher\nfrequencies. But that got a little annoying. So let\u0027s choose a\nbroader range that will hopefully lower the noise for some time.\n\n1MHz is low enough for VGA resolution at 24p, and 2.5GHz is high\nenough for 8K at 60p. That should give us some margin.\n\nSome corner cases required refactoring of some calculations and\nproofs. And, admittedly, the calculation in `HW.GFX.GMA.PCH.VGA`\ncan in theory overflow. We prove absence of runtime errors by\ndeferring the potential overflow to the modular `Word32` type.\nThis is not perfect, but overflow or not, we have to expect to\nbe called with a sane frequency anyway.\n\nChange-Id: I3a159bc11ccadcaba8ad04e126e6feadfd46008e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35750\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "530651bfb439d37abb0f07593d7ab604f2419a18",
      "tree": "8b53fa82b50c159ec0be3916cc119b5de45113a0",
      "parents": [
        "a4e7f25c408902677824f5edc3f6ad1e760241a3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 03 14:59:38 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 05 23:25:47 2019 +0000"
      },
      "message": "gma g45 config: Limit HDMI rate to 165MHz\n\nTests with a 3440x1440 pixel display have shown that the dot clock\nwas chosen much too high (we got either 720x1440 at half the rate\nor a completely garbled picture). Turns out, Linux\u0027 i915 limits the\nclock to the original DVI\u0027s 165MHz for 4th gen and earlier, so we\u0027ll\ndo that too. This resulted in a stable picture with 3440x1440 @ 31Hz\n(the display even synchronized better on this than the configuration\nchosen by i915).\n\nChange-Id: I30cb67feedd776148457101d1ca3e3b8538e672f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35779\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "a4e7f25c408902677824f5edc3f6ad1e760241a3",
      "tree": "4ec278dde3bf09c6bc146cad0727a8d3e6ab4b63",
      "parents": [
        "e317e9c31cef31f960a5cfb3e3247047d39ae7a1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Sep 17 16:25:49 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 05 23:23:59 2019 +0000"
      },
      "message": "gma i2c: Increase timeout, again\n\nCan a timeout be long enough? We still face the same problem as in\n68f439d4f1 (gma i2c: Increase timeout to \u003e100ms). User reports have\nshown, that the 110ms still were not enough, 200ms would be but to\nbe safe this time, increase the timeout to 500ms. That may result\nin very long delays, but only if the hardware is even more broken\nthat what we encountered so far.\n\nChange-Id: Ia7b28f5a4ed1cd382a7ebfba5ce1ffe1b7a333a8\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35450\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "e317e9c31cef31f960a5cfb3e3247047d39ae7a1",
      "tree": "e995dd0feb54d1897d5e02b068d0838deb1ee493",
      "parents": [
        "c5c66ecf12c51600a20aac257394fd7f13d25113"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 29 03:03:18 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:18:44 2019 +0000"
      },
      "message": "gma: Merge `Config_State` into `State`\n\nTreating `Config_State` separately was merely cosmetic and caused\nlots of trouble. Its usage depends heavily on the selected plat-\nform. Hence, `Global` contracts were not stable across different\nconfigurations.\n\nLet\u0027s avoid the annotation mess that it brought us and merge it\ninto `State`.\n\nChange-Id: Ie28ccfc7ffbe08e0b3fe343d9e6df2420611834e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35713\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c5c66ecf12c51600a20aac257394fd7f13d25113",
      "tree": "3fb25026c2bbec6531efb52d3937b085159c53fb",
      "parents": [
        "7f3e280f0233958f5c858e19a3b80c3fdd50a83f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 23:59:45 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:16:44 2019 +0000"
      },
      "message": "gma: Allow private sub-packages to access PCI config\n\nOnly export Read16() for now, which we need in a follow-up.\n\nChange-Id: I2ca17cab0566d50000369263ab56e122ac6cbb8b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35712\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7f3e280f0233958f5c858e19a3b80c3fdd50a83f",
      "tree": "49d1db89829d320c80a45984edf7e8df1b9398cd",
      "parents": [
        "9a4c4c3024a20bfe134bf93ca04a3634848dbd39"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 20:40:55 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:15:54 2019 +0000"
      },
      "message": "gma: Give GM45 its own designation (separate from G45)\n\nWhile G45 and GM45 have mostly the same display engine (seem to\nonly differ in the available outputs), they are driven by very\ndifferent clock sources. To derive the corret CDClk in a later\ncommit, we\u0027ll have to distinguish between the two.\n\nChange-Id: I99bbd0582a03a9e2806ef2ebf63e466ec40133b3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35711\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "9a4c4c3024a20bfe134bf93ca04a3634848dbd39",
      "tree": "b53532d9affed9129c64120b916cf5f7bd016d97",
      "parents": [
        "88da05e1742894774144bc6aa750e742d0b10291"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 16 22:05:11 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 22:10:27 2019 +0000"
      },
      "message": "gma: Refactor Update_Outputs()\n\nIn Update_Outputs(), we used to have two steps, iterating over\nall available pipes: We disabled all pipes whose mode changed\nor that would be disabled otherwise. Then, we enabled all pipes\nwith new modes.\n\nAs checks for validity of the configurations were only done on\ndemand in the second step, that left us with no knowledge about\nwhat configs would actually be tried. To make this information\navailable for future work, we add a validation step before the\nexisting two. That gives us:\n\n 1. Validate all new configs\n 2. Disable pipes\n    - whose mode changed\n    - that were disconnected\n    - whose config didn\u0027t validate\n 3. Enable/update pipes with new configs\n\nThis way, we can make global decisions ahead of 2. and 3. based\non the remaining, _valid_ configurations.\n\nWe had to turn Pipe_Setup.Scaler_Available() into a Reserve_Scaler()\nso we can keep track which new configuration gets to use a scaler.\nG45 is still the only case where we have less scalers than pipes\navailable. To keep that transparent to Update_Outputs() we add the\nopaque type `Scaler_Reservation`.\n\nThe `Loop_Invariant` of 1. allows us to keep the validation\nin mind, to satisfy pre-conditions of the various steps ahead.\nTo not lose the validation, Fill_Port_Config() needs a post\ncondition and a little restructuring to prove it.\n\nChange-Id: I079ae8f85c821a272b5d095c1ef437ee804aa9ac\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35528\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "88da05e1742894774144bc6aa750e742d0b10291",
      "tree": "87a020df25668d680eeac96fd2c033c8275f7136",
      "parents": [
        "9e96a45649a8e7c8d945220bbaa0e37ff1af8adf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 16 21:03:20 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 21:37:13 2019 +0000"
      },
      "message": "gma config_helpers: Add dot-clock helper functions\n\nHighest_Dotclock() returns the highest dot clock in a set of\npipe configurations.\n\nLimit_Dotclocks() reduces any dot clock to the given maximum\nif it exceeds the latter. To prove that Limit_Dotclocks() only\nchanges timing, we introduce Stable_FB().\n\nChange-Id: Iaa25e774d38c7af12150523739d902cf8e758674\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35529\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "9e96a45649a8e7c8d945220bbaa0e37ff1af8adf",
      "tree": "9b8552aad49ed267cca4a352c7c19017d7a7d0fa",
      "parents": [
        "312433cd3d90ebd5ee44bc1795b10e3846c1f96c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 22 20:25:17 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 21:34:46 2019 +0000"
      },
      "message": "gma config_helpers: Introduce Valid_FB()\n\nMake the post condition of Validate_Config() a separate function,\nValid_FB(). This way, we don\u0027t have to repeat it everywhere.\n\nTheoretically, we could make Validate_Config() an expression\nfunction, too. Alas, all the added conditions seem to distract\nprovers too much.\n\nChange-Id: I0931217658000d3ff6d71515acb45aeb063768d5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35527\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "312433cd3d90ebd5ee44bc1795b10e3846c1f96c",
      "tree": "b9797382071153359c87386163f70bdfbd074da0",
      "parents": [
        "82ca09f1f372200046dad13db6e81829ff067caf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 03:15:48 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 21:34:26 2019 +0000"
      },
      "message": "gma pcode: Move and revise mailbox handling\n\nUnify the PCODE mailbox implementations (Linux\u0027 i915 uses the same\nimplementation since Sandy Bridge, too) and add `Wait` and `Success`\nparameters so we can act correctly if something failed. This adds\na lot of boilerplate. But we keep it contained in the new package\n`PCode` and the code outside it looks cleaner and handles errors\nmore gracefully.\n\nIn GNATprove, we track state of the mailbox\u0027 readiness in a ghost\nvariable `Mailbox_Ready`. This allows us to skip the initial wait\nloop if we know that we already waited at the end of a previous\ncall. The first call to a mailbox procedure has to be made with\n`Wait_Ready \u003d\u003e True`.\n\nAlso, start to experiment with a `use` clause for the `Register`\npackage. It allows us to write a little more condensed code, with-\nout sacrificing much (in this program we can expect that `Read`/\n`Write` means register access?) So far it looks good?\n\nChange-Id: I5daa3effb7ab774e4a35bd8794b0f67f57e4caa4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35710\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "82ca09f1f372200046dad13db6e81829ff067caf",
      "tree": "3c79c77693b5502fe3ad2ebaeef1e99a09ca0077",
      "parents": [
        "efa3ca82eb7fc4e5717015022013d441b156c7a5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Sep 28 02:37:50 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 03 20:07:40 2019 +0000"
      },
      "message": "gma registers: Implement `Success` parameter for Wait*()\n\nChange-Id: Ia0e30e3467400e9d53a32c9bfc97d2d5f00df4aa\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/35709\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "efa3ca82eb7fc4e5717015022013d441b156c7a5",
      "tree": "c7efc3cfec2608240a4f3d94eb21e4666640de2a",
      "parents": [
        "4fc6dc24bbafd3211dc568dc43db435b6906c0c5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri May 10 13:28:52 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 03 20:06:01 2019 +0000"
      },
      "message": "gma i2c: Rework GMBUS reset procedure\n\nOnce we tried to use the GMBUS controller with an unconnected pair of\nI2C pins, it got stuck and a reset via the SOFTWARE_CLEAR_INTERRUPT\nbit didn\u0027t suffice to recover. Further tests have shown that we are\nable to recover, if we switch to a valid pin pair first and issue an\nI2C stop cycle before the reset.\n\nChange-Id: If737ffb35afa309de7746f0c16025b9598f69460\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32730\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "4fc6dc24bbafd3211dc568dc43db435b6906c0c5",
      "tree": "b57997e4f98b5a8a82dcc62ff1d68e86d3eb25cd",
      "parents": [
        "75a707f3ef80fb150fc0c3fdb69d7cb7c21480f6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri May 10 13:01:29 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 02 10:11:00 2019 +0000"
      },
      "message": "gma display_probing: End probing after all ports failed\n\nIn case of failure, we kept trying the last port in the list for\nfurther pipelines. Fix that.\n\nChange-Id: Id434492a7186f3b9431fd98dc16c0a7aa0e92501\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32728\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\n"
    },
    {
      "commit": "75a707f3ef80fb150fc0c3fdb69d7cb7c21480f6",
      "tree": "a7c6acef5bd209e8d94f43905df7ecb167ccca48",
      "parents": [
        "d8282b6330f053d298c6aec660ed95018dbfe31c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 16:28:33 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 02 10:09:31 2019 +0000"
      },
      "message": "gma pipe setup: Fix secondary pipe cursors \u003c\u003d Sandy Bridge\n\nThe secondary cursor registers used to have a different offset.\n\nChange-Id: I4d79f59a8cb693d73d6da666525f091021efb4fd\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27154\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "d8282b6330f053d298c6aec660ed95018dbfe31c",
      "tree": "701a0c6ef05d6f5965fb333b13abe038f64bad43",
      "parents": [
        "a815704c84b4823f5b723404a37efed9d6c85d66"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 00:44:55 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 02 10:09:19 2019 +0000"
      },
      "message": "gfx_test: Refactor to allow Restrictions (No_Elaboration_Code)\n\nMove the `Ada.Numerics.Discrete_Random.Generator` into the Main()\nprocedure.\n\nChange-Id: I63c72501fd7d49574042fc5a459d6751a776a1f1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27146\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "a815704c84b4823f5b723404a37efed9d6c85d66",
      "tree": "188304b43b029fa8bda7d45d2150f302388bfe45",
      "parents": [
        "94fb916ea6ab1e6ae901e5ab264d4e1e8e8b5f2b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Jul 25 14:05:17 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Aug 03 17:05:55 2019 +0000"
      },
      "message": "gma bdw+ transcoder: Use always-on path for primary pipe on eDP\n\nThis was a mistake in abb16d9 (gma hsw transcoder: Choose PDW path for\nscaling on DDI A). We only have to do it on HSW, future CPUs support\nscaling on the always-on path and don\u0027t support the alternative path\nanymore.\n\nTested on Haswell (gfx_test), Broadwell (gfx_test) and Coffee Lake\n(gfx_test \u0026 coreboot): Scaled picture shows up (instead of a black\nscreen on BDW+).\n\nChange-Id: I257108fce40b73024f231ca366c0d53b700dc588\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/34628\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "94fb916ea6ab1e6ae901e5ab264d4e1e8e8b5f2b",
      "tree": "e0d6052ceefda16e21c60af73c707fbcb41e4b1e",
      "parents": [
        "f80c3e4e103dcd717825158d274ffcbae648ff0b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri May 10 13:44:11 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:34:01 2019 +0000"
      },
      "message": "dp training: Write correct training data when switching patterns\n\nApparently this was wrong all the time. When switching the training\npattern, i.e. writes to DPCD+0x102, we also have to write the current\nsignal levels to subsequent offsets. We always wrote 0s in this case,\neven if we already negotiated higher values during the clock-recovery\nphase. Obviously, this results in havoc if the sink takes the 0s\nserious.\n\nTEST\u003dRun a few hundred training rounds with a Terra 2462W display.\n     This display almost always requested an increase of the voltage\n     swing to level 1. Trainings where it recovered the clock with\n     level 0 always succeeded, while trainings with level 1 almost\n     always lost synchronization at the start of channel equalization.\n     With the patch applied, all trainings succeeded.\n\nChange-Id: I6ae2f9aaec0b042e8dee6e8b0099ea62c82f611b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32732\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f80c3e4e103dcd717825158d274ffcbae648ff0b",
      "tree": "04181d6ef7425402569b5509bc1b6ebb4d48a0bb",
      "parents": [
        "68f439d4f17a366978ba83c21567d60fdb8df045"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri May 10 13:44:02 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:33:19 2019 +0000"
      },
      "message": "dp training: Always end with normal output\n\nThe DP spec mandates that we return to normal output when we abandon\na failed training, before we disable the output. However, the sequence\nsuggested by Intel always disables the output, even if we try another\ntime or another frequency. So we also always return to normal frame\ndelivery.\n\nOn Ivy Bridge, failure to return to normal output resulted in inability\nto disable the display pipe and to restart the training. Thus, after a\nfailed training, further attempts were futile.\n\nChange-Id: Ie1f19f2e1d1af62b402ad1dc41373d3d4437e976\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32731\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "68f439d4f17a366978ba83c21567d60fdb8df045",
      "tree": "8f73edb4efc3d2cb67dec4d0f88487cbc87bad1b",
      "parents": [
        "c1d2030ffa77a77a066b02f3a8269223a76f62b7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri May 10 13:16:51 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:32:49 2019 +0000"
      },
      "message": "gma i2c: Increase timeout to \u003e100ms\n\nAt least on the ThinkPad X200s with an oddly strapped (and unused)\nHDMI1, the GMBUS controller doesn\u0027t detect the NAK properly and only\ntimes out after around 100ms.\n\nChange-Id: I48c2ef94e1449a98a35af6912c43156e4ed08206\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32729\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c1d2030ffa77a77a066b02f3a8269223a76f62b7",
      "tree": "7a2209b91e9581a8e4fc90edd11eb13ae97ef146",
      "parents": [
        "040d9b6523345d1d67a0f3329e91f256ff041966"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Apr 28 00:00:37 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:32:32 2019 +0000"
      },
      "message": "gma i2c: Try to clear NAK indicator\n\nIf we don\u0027t clear the NAK indicator, some versions of ChromeOS fail on\nthe first transfer and don\u0027t detect certain I2C devices.\n\nChange-Id: I7df80d8757e1d14e288d9424240e873cf5a5fd29\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/32491\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\n"
    },
    {
      "commit": "040d9b6523345d1d67a0f3329e91f256ff041966",
      "tree": "a04379cc1ba86e3e6c13b7a887b438c5848002d8",
      "parents": [
        "2c92794a5fa3c4b894c133e9b3e8bd3c8588f9a8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 18 00:52:00 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:31:41 2019 +0000"
      },
      "message": "gma: Publish Read_EDID()\n\nMight be useful in coreboot to read the raw EDID.\n\nChange-Id: I13d28a4434de3b0699a3475dd96febfdf75639f0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/31454\nReviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "2c92794a5fa3c4b894c133e9b3e8bd3c8588f9a8",
      "tree": "f60e2be0539034f0988a378ff81c1ae93298450b",
      "parents": [
        "88badbe832a3279ec85b7859e3de132788c0962f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 17 19:07:31 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 16:31:11 2019 +0000"
      },
      "message": "gma: Add more PCI IDs for Coffee/Whiskey/Amber Lake\n\nThese seem to be 100% compatible to Kaby Lake w.r.t. modesetting. So\ntreat them as the latter for now.\n\nUntested. Didn\u0027t look at documented workarounds, yet.\n\nChange-Id: If01883ba95246f9bfd66049772597e0317e294d2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/31453\n"
    },
    {
      "commit": "88badbe832a3279ec85b7859e3de132788c0962f",
      "tree": "5f8c9029ee25857cdbac76906eb149f74de6c409",
      "parents": [
        "25fdb15cf0fa9ea6ae41cef497ba07c1783bc494"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Sep 27 16:36:47 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 15:32:16 2019 +0000"
      },
      "message": "gma: Add Kaby Lake support\n\nIncluding some weird Amber Lake Y parts that are treated like Kaby Lake\nin Linux\u0027 i915.\n\nOnly differences to Skylake in the DDI output buffer tuning.\n\nChange-Id: Ice05e07b016cebc7258a9790e38e079e63227a4b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/28763\nReviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "25fdb15cf0fa9ea6ae41cef497ba07c1783bc494",
      "tree": "0e4e7fab2b68b571d8e4004de94d1a5408a338ef",
      "parents": [
        "d49b56baf97136e1b65f032a985291bf40a73260"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 17 15:54:39 2019 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jul 20 15:31:55 2019 +0000"
      },
      "message": "gma: Add support for ULX variants\n\nOn Haswell and Broadwell, the ULX variants differ only in the available\nCD clock frequencies and, on Haswell, the maximum DP link rate. On newer\ngenerations (Skylake+), they differ only in output buffer tuning.\n\nAlso update the PCI IDs from Haswell to Skylake.\n\nStill untested, which was the original reason to skip ULX.\n\nChange-Id: I08e6689ff8c0f2d58b51363886d4cab956f44e03\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/31452\nReviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "d49b56baf97136e1b65f032a985291bf40a73260",
      "tree": "9795778221cdbc13faf2a13c45a365ea51fb4955",
      "parents": [
        "b3b9fa34bb99d33d0fc6a69c64966a71cebd5bd6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 17:19:15 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 08 20:41:19 2019 +0000"
      },
      "message": "gma pipe setup: Refactor calculation to ease proof\n\nSomehow GNATprove stumbles here when code changes elsewhere. Let\u0027s make\nit focus on the linear-offset calculation.\n\nChange-Id: Id5def319993b34144473984ca25c71d92c957180\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27152\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "b3b9fa34bb99d33d0fc6a69c64966a71cebd5bd6",
      "tree": "5ad88af76af9172a9b85d83d19593e1bf86aac23",
      "parents": [
        "8a9062a0842c70920ac1c95ba48b7d4f2e1538f0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jun 18 16:16:41 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:22:44 2019 +0000"
      },
      "message": "gma: Fix Ironlake panel fitting, revisited\n\nThis time avoid scaling to odd heights, too. At least Sandy Bridge\nhas trouble with this.\n\nChange-Id: Ib7dfe1fd289661ecd6949eca4b39860dbecc4463\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27153\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "8a9062a0842c70920ac1c95ba48b7d4f2e1538f0",
      "tree": "bd53eb7165dfe93dda277722022efdd5fddf1418",
      "parents": [
        "6a996dc7bafc5a1b56c7cd9d1a00a6f8ef5617fd"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 17 23:15:52 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:21:37 2019 +0000"
      },
      "message": "gma config: Enable Restrictions (No_Elaboration_Code)\n\nForcing compile-time evaluation seems to be the right thing and works\nwell now. It also helps to compare binaries after refactorizations.\n\nChange-Id: I4eea973836a05eefcc2c98de75e6721ef3cd278b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27143\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6a996dc7bafc5a1b56c7cd9d1a00a6f8ef5617fd",
      "tree": "f32fea3ae624618c93ad7c1f428a96ff488c5322",
      "parents": [
        "adfe11fec3f2fcca99be6b43bf4d33eb4aaf99d7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 17 16:30:33 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:20:25 2019 +0000"
      },
      "message": "gma: Implement automatic CPU detection\n\nIn dynamic CPU configurations, Config.Detect_CPU() sets the CPU\nvariables according to the given PCI device id. In static confi-\ngurations it does nothing.\n\nWe update the default configs to make use of this feature where\napplicable. This should still give us full build-test coverage\nwhile cutting the amount of tests in half.\n\nChange-Id: I8ce31c867f97c8d6ef99ca096cb45f7719e78a19\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27138\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "adfe11fec3f2fcca99be6b43bf4d33eb4aaf99d7",
      "tree": "73275a1b5fe36a9a1a562c89dbf042c8e324a067",
      "parents": [
        "d9365613ea1dd31ae00bc69ebd2f7a508049b2c6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 14:59:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 13:16:10 2019 +0000"
      },
      "message": "gma config: Make Config.CPU and Config.CPU_Var variable\n\nIntroduce CONFIG_GFX_GMA_DYN_CPU that, if set to `y`, makes `Config.CPU`\nand `Config.CPU_Var` variables. All other config values derived from\nthese are turned into expression functions.\n\nChange-Id: If409b5afbd975f3a42e28ff191a092f89ece5ae2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27068\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "d9365613ea1dd31ae00bc69ebd2f7a508049b2c6",
      "tree": "d8cec2ad781f7531741d7a31a7272d558066e119",
      "parents": [
        "27088aad041b760f8b86e2c19a7a6304be43063c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 14:59:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:55:42 2019 +0000"
      },
      "message": "gma config: Tag constants depending on generation or CPU\n\nTag all derived config booleans that depend on the generation \u003cgenbool\u003e\nand those that may depend on the CPU with the generations where that is\nthe case. For instance `CPU_Ivybridge` can be decided purely based on\nthe generation unless the generation is Ironlake, thus, it is tagged\n\u003cilkbool\u003e. For non-boolean constants, per generation tags \u003c...var\u003e are\nintroduced (e.g. \u003cilkvar\u003e) with similar meaning. This will allow us to\nmake them variables later, based on the generation.\n\nTo ease later parsing, also move all multiline expressions after a\nline break.\n\nChange-Id: Iaa50987c51dc62ab2eb8b31e8f223b8a94e8ac12\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27067\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "27088aad041b760f8b86e2c19a7a6304be43063c",
      "tree": "4872922d77f18511d7533d2a52bb8918bc228654",
      "parents": [
        "30e8408399a1b24abe338a689bf7405b03ac03a1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 13:28:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:40:30 2019 +0000"
      },
      "message": "gma config: Initialize stateful configs late\n\nDefer initialization of config variables until GMA.Initialize().\n\nChange-Id: I9192c9a7c4d67e4af7f3e26659489f58998ae832\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27066\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "30e8408399a1b24abe338a689bf7405b03ac03a1",
      "tree": "6bee2f7b53ec000a643fc5bab14bc65cf3c3b3bc",
      "parents": [
        "86445f36097b75f3c1648868b72f9359937511d3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 13:28:05 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:37:29 2019 +0000"
      },
      "message": "gma config: Group mutable state into a record\n\nPut all state into a record, `Config.Variable`, so it can be referenced\nat once from other packages. This is required to add stateful variables\nto `Config` without changing the rest of the codebase.\n\nChange-Id: Iffc7984b61e57cda7bdaf3b915a4fc51b396423a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27065\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "86445f36097b75f3c1648868b72f9359937511d3",
      "tree": "db78c0eb2aff03a8dd9abe9c5626b13a39858812",
      "parents": [
        "63ec8364dc2af8806ac1f52d806a2360128eb07e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 00:32:26 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:32:10 2019 +0000"
      },
      "message": "gma pipe setup: Drop explicit Global and Depends contracts\n\nThese were originally only added to prevent proof inlining and\nare not needed any more.\n\nChange-Id: Ia75c78a7030960a56e9cb469601b24c677732875\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27064\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "63ec8364dc2af8806ac1f52d806a2360128eb07e",
      "tree": "552512a539d8b24f9eef17a52c44b156c1d24f87",
      "parents": [
        "63dc9190f178cae95705e980f002565c40fa981c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:42:19 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:31:31 2019 +0000"
      },
      "message": "gma: Give constants depending on Config.CPU* a type\n\nTo reduce elaboration time dependencies, turn number constants into\nvariable constants by giving them a type. This will allow us to use\nthe same code for configurations with constant and non-constant\n`GMA.Config.CPU*`.\n\nChange-Id: I0b671cb18701d0ecae118e023e0fd21be5095da0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27063\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "63dc9190f178cae95705e980f002565c40fa981c",
      "tree": "9973d6bc0ff7d3b7c5fd7381922e95beabb8ec7c",
      "parents": [
        "d7809abf1a65f6d0c5b404349b4d8302bf4391c1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 17:42:19 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 12:30:48 2019 +0000"
      },
      "message": "gma: Turn constants depending on Config.CPU* into functions\n\nTo reduce elaboration time dependencies, turn constants at package\nlevel into functions. This will allow us to use the same code for\nconfigurations with constant and non-constant `GMA.Config.CPU*`.\n\nChange-Id: I0522f5c63c63080bf9633f3d1b6019f35e52d226\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27062\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d7809abf1a65f6d0c5b404349b4d8302bf4391c1",
      "tree": "742f0499be0074a97a51adc27f78be9839337c91",
      "parents": [
        "998ee2b9af853a3b12c0880a519bf10887fd59f1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 10 15:44:23 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:53:35 2019 +0000"
      },
      "message": "gma config: Limit types of CPU and CPU_Var\n\nLimit the range of values for `CPU` and `CPU_Var` based on the\ngeneration.\n\nChange-Id: Ibeca7d0fb5cbc617a0819448e78d406793c6f866\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27061\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "998ee2b9af853a3b12c0880a519bf10887fd59f1",
      "tree": "3cd7a285acf0bcb17d3ac2eb7b6cec6e182ee4c5",
      "parents": [
        "6621a14e33fe864965ef524d4b301fdc62a2ad48"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jun 12 23:02:17 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:52:50 2019 +0000"
      },
      "message": "gma config: Introduce per CPU booleans\n\nThe per CPU booleans are additionally guarded by the respective\ngeneration so that the compiler may decide purely on the generation.\nAlso use the new booleans to get rid of all direct references to\n`Config.CPU` and `Config.CPU_Var`.\n\nChange-Id: I307d1dd56f480fdb4fbc6e2e25fc5f413c4158f8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27060\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6621a14e33fe864965ef524d4b301fdc62a2ad48",
      "tree": "b5dacff889bb81d21be04e1e0e55cf871b60c1dc",
      "parents": [
        "c76749db2b798a7f7fff9557ad53d97dc4f95225"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 07 23:56:54 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed May 08 11:40:39 2019 +0000"
      },
      "message": "gma: Introduce Generation type\n\nIt\u0027s the subset of `CPU_Type` that we have different compilation units\nfor. Also use it in the `Config` wherever we can decide something purely\non the `Generation` (i.e. don\u0027t mix `Gen` and `CPU` in expressions).\n\nChange-Id: I5061021a80cd75ee3d7996ca343e6388b22bf341\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27059\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "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"
    }
  ],
  "next": "cf88f3d1567cf6475be5ddf3e7a433895a6144a6"
}
