)]}'
{
  "log": [
    {
      "commit": "605660bb2180acc07aad4ac11da2b28d6192d7b0",
      "tree": "d1440b51ab228b826b92326f8aecad506b9460fd",
      "parents": [
        "0dadb674cc98974378ccceccc8c557197a2bad16"
      ],
      "author": {
        "name": "Tim Wawrzynczak",
        "email": "twawrzynczak@chromium.org",
        "time": "Wed Jun 08 12:48:19 2022 -0600"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 29 19:22:30 2023 +0000"
      },
      "message": "gma: Begin Tiger Lake (TGL) integration\n\nTiger Lake\u0027s integrated graphics engine is built off an entirely new\nigfx architecture named \"Iris Xe\". This patch adds just enough support\nto compile for Tiger Lake. Fortunately, the backlight programming\nhasn\u0027t changed since SKL, so with a little bit of hacking, one can\nalso have libgfxinit turn on the backlight to verify something is\nworking and running.\n\nThe first pass through the support will focus mostly on the eDP panel,\nthen Type-C ports (both in fixed/native mode [DP/HDMI] and in Type-C\nDP Alt Mode). TBT will not be mostly ignored in this first pass, as\nit is not as widely used (yet?) as the other protocols.\n\nThis patch includes changes to fix ironlake gnatprove errors caused by\nthe new PCH_HDMI_A port definition.\n\nTested on google/voxel, with DEBUG_ADA_CODE enabled.\nTested on google/skolas, with DEBUG_ADA_CODE enabled.\n\nThis patch leaves the following unresolved gnatprove errors:\n- hw-gfx-gma-port_detect.ads:17:14:\n     warning: subprogram \"Initialize\" has no effect\n- hw-gfx-gma-port_detect.ads:20:07:\n     warning: unused variable \"Port\"\n- hw-gfx-gma-port_detect.ads:23:14:\n     warning: subprogram \"Clear_Hotplug_Detect\" has no effect\n- hw-gfx-gma-connectors.ads:39:14:\n     warning: subprogram \"Post_Off\" has no effect\n- hw-gfx-gma-connectors.ads:42:14:\n     warning: subprogram \"Post_All_Off\" has no effect\n\nThese errors will by addressed by the proper implementation of these\nprocedures.\n\nChange-Id: I84f15837856ecc5ec8df18b39d3989885cd550d4\nSigned-off-by: Tim Wawrzynczak \u003ctwawrzynczak@chromium.org\u003e\nSigned-off-by: Jeremy Compostella \u003cjeremy.compostella@intel.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/70887\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Sean Rhodes \u003csean@starlabs.systems\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "2bbd6e7c6044d7c3fb5607834d00e4e7d83a2ada",
      "tree": "9d39e3333feda6885ff63692c935e4ac114fb3a3",
      "parents": [
        "8a6e7bd43caef134bcb9616da9be3b4344850123"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 18:22:59 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:18 2020 +0000"
      },
      "message": "gma panel: Introduce `Panel_Control` type\n\nFor now, `Panel_Control` only distinguishes `Panel_1` from `No_Panel`,\ni.e. if a port has a panel attached or not. To ease future addition of\nsupport for more than one panel, we already add loops and arrays around\nit, though.\n\nWith the information, if a port has a panel attached, in `Port_Config`,\nwe can pass that on into Panel.* procedures and let those decide what\nto do (e.g. do nothing if no panel is attached).\n\nChange-Id: I83864bc86b48f65d9ba43e083b805ca09497cbb0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38243\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "8beafd74958561988d29ba0897e057d4f3204a27",
      "tree": "1676c1e615c4714b9c2394ffd8bf1260ed73b7da",
      "parents": [
        "fe7985f2a0692bc773d470a92ec54d22d3c12e4b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 14:59:44 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:05 2020 +0000"
      },
      "message": "gma: Split `Internal` port type into `eDP` \u0026 `LVDS`\n\nWe used to have a single type `Internal`, in the GMA interface, to\nrepresent the port for any internal panel. This seemed suitable as\nall mainboard targets used the additional panel logic (power se-\nquencing, backlight) only with either one of the eDP and LVDS ports.\n\nHowever, the hardware allows to combine the panel logic also with\nother ports. And some of the regular DP ports are even mentioned as\nalternatives to the dedicated eDP port.\n\nAs a first step towards supporting such less common combinations,\nwe get rid of the single `Internal` type. All the panel logic still\nassumes that either the dedicated eDP or the LVDS port is used for\nan internal display. We introduce `Internal_Port_Type` to represent\neDP and LVDS, for this. But it should vanish, once the panel logic\nis adapted.\n\nChange-Id: Iadf3c11bd35d085cf47a961e800b0d96b79f62f5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38239\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "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": "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": "d58de7d2126316fc1afbb84e4d6a26046d2cf1b7",
      "tree": "f1391ace26849bd38415c7a2f7b7baf8d9defd1c",
      "parents": [
        "eb4e8f91c4089fb3e89eeba039dfef3f7d79e5cf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 07 23:06:55 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 15 17:10:16 2018 +0000"
      },
      "message": "gma config: Introduce Has_Tertiary_Pipe\n\nAnd use it instead of `Supported_Pipe`.\n\nChange-Id: Id3c4bdaf0d6b6c6126692b00cbabaf7d3f85b4bf\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/27048\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f361ec81e075b3ece15fcb910ec4c96758ce33c2",
      "tree": "f6b0b643a65dc06c822b41fe0cb34e796e02d1fe",
      "parents": [
        "958c5640456afc695e4b05a9a23df3ada14ebdd2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 02 18:01:45 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:37:04 2018 +0000"
      },
      "message": "gma: Introduce Pipe_Config.Scaler_Available()\n\nG45 provides only a single panel fitter. Therefore, we can only enable\na single pipe that requires scaling. Scaler_Available() tells us if a\npanel fitter is available for a given pipe. We use the result to filter\ninvalid configurations early.\n\nChange-Id: Ie05bfb58318e79edc8ab81598458e620ffdcb2ab\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26768\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ab69e3613b9e2593395d5b8e7aa928de60c6e45b",
      "tree": "7df2b8cf96284cf62e21f26bc486dddb4a4e7c56",
      "parents": [
        "a63e833af622028e1f7ddf4543f9960a7875a456"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 21:20:30 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:34:10 2018 +0000"
      },
      "message": "gma ironlake..broadwell: Enable X-tiling\n\nGenerations pre Skylake support X-tiling only.\n\nChange-Id: I828e20e2a6bf71c88cf9e23ada0552e2462fe7c1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26697\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "73ea03245445527a80b70e41cf4a910371014ca0",
      "tree": "210fafb8ff5631b2946bdd4511271293b2f8a27c",
      "parents": [
        "d5198445517c361b30f4521e52b953d2a7928a70"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 17:17:07 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:18 2018 +0000"
      },
      "message": "gma: Add G45 support\n\nThe following ports are implemented: HDMI/DVI, VGA, LVDS and DP.\n\nTested with gfx_test and coreboot on a Thinkpad X200 (GM45).\n\nChange-Id: Ifc05a1516329a61772af84558e5bfceb4d4ca277\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/21295\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "cbbaade460c23a04d4f9641e0e92afae9ddd12ec",
      "tree": "7fdb2f58f11fe4bbb6c007971d83d064baeb431d",
      "parents": [
        "b4b72794bab8523128befdb4bf4266b79413332a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 13:59:36 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 14:37:04 2018 +0000"
      },
      "message": "gma config_helpers: Pass only the modeline to Validate_Config()\n\nValidate_Config() had the full `Port_Config` as parameter, though we\nonly accessed the modeline. Make that explicit so we can also call it\nwhen we don\u0027t have the full config available.\n\nChange-Id: Ia4620d1ffa1a3cd098d721d84f2453f2dc19da2a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/23163\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "9b479412a7e43888f52840e03b57eed710e46af6",
      "tree": "327ed066e30f61d7a284bb787a29c34a8332bd47",
      "parents": [
        "b7470499e80e1910ff078a55ac46a097b7f0c903"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 27 11:55:56 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:37 2017 +0000"
      },
      "message": "gma: Add support for rotated framebuffers\n\nAs for the tiling, we enable support for rotated framebuffers on\nplatforms with Plane_Control. On every path where a rotated frame-\nbuffer may be expected, we have to exchange width and height in\ncase of 90 degree rotations. Beside the rotation setting itself,\nthe hardware needs to know the vertical stride instead of the hori-\nzontal and a delicate page mapping in case of 90 degree rotations.\nFor that we divide the GTT space into two, the lower half contains\nthe linear mappings, the upper half mappings for a rotated scanout.\n\nChange-Id: I1c901b7abc0fe7764bee87f6fda58ba9fa3f340d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22711\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "0164b024a6b6cff64c41c3b68fd93a925753f38d",
      "tree": "02ebcb40b55ce672a3a093e712eddbf8863f811d",
      "parents": [
        "b03c8f19ae0d7e1f9f27ff258e72a37dfb87f323"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Aug 24 15:12:51 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 14:26:03 2017 +0000"
      },
      "message": "gma: Set tiled framebuffers up through Plane_Control\n\nOn platforms with Plane_Control registers (Broxton/Skylake+) we can\nuse X and Y tiled framebuffers for scanout (older platforms support\nX tiling only). As our main use case is 90° rotation with Y tiled\nframebuffers, we implement it for the newer platforms only for now.\n\nWe also set up a fence register for linear access to the tiled frame-\nbuffer through the aperture.\n\nChange-Id: I913c82f62fd28b681a06ce13f41160a07e559799\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22709\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "02cfbb3df00cd346877a258e2ee54f78ae0e0e16",
      "tree": "b0a54d58866812f343967b3e84e60b6b2d4e4697",
      "parents": [
        "d6d6f6b366a94a1fa9dfa1bb49dcb99d2ca505f7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 09 17:41:18 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 14 12:49:15 2017 +0100"
      },
      "message": "gma: Choose FDI-link settings after mode determination\n\nWe chose the FDI-link settings too early, before we even set the\nmode\u0027s BPC in case the default for an output should be selected.\n\nThis resulted in a too small lane count for the FDI in corner cases.\n\nChange-Id: I12c6465c296bda4b7af116bd5a4c3d2ce593a3ac\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18115\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "d6d6f6b366a94a1fa9dfa1bb49dcb99d2ca505f7",
      "tree": "3efa5abe3a5371bc31484b7a63bed30faf34562e",
      "parents": [
        "793a8d49affaaba2a3ef725fd0202ebaff37c888"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Dec 23 13:00:49 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 08 17:07:19 2017 +0100"
      },
      "message": "gma config: Fix framebuffer alignment check\n\nThe framebuffer stride has to be aligned to one cacheline (i.e.\n64 bytes) and not to 64 pixels.\n\nChange-Id: I8016b6c03b7908aff3ae72601d8d68cba065c7a0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17957\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\n"
    },
    {
      "commit": "8c45bcfc4d024c866e4c2b92b1768b413ec8be9c",
      "tree": "dfcfa082dcf1ab6dc31ccf9a50a9ed4a08c8539c",
      "parents": [
        "3c544eeb50590b2bbc69f04725b279ec96a4b2fa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 17:30:57 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 01 17:36:07 2017 +0100"
      },
      "message": "gma: Split out config derivation and port probing\n\nThe GMA package has grown way too big. Move derivation of the internal\nconfiguration into new package `Config_Helpers`, EDID probing into new\npackage `Display_Probing`.\n\nChange-Id: Ib49ac7b00367be4295d18dba3afd1a0692e0497f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17757\nReviewed-by: Adrian-Ken Rueegsegger \u003cken@codelabs.ch\u003e\n"
    }
  ]
}
