)]}'
{
  "log": [
    {
      "commit": "3652e9c5ace183f9cbaf6910d8aad6908a27231f",
      "tree": "3e9ec72ad288e354db74efbbf7d1efa55e865a2c",
      "parents": [
        "17cfc92f402493979783585b6581efbd98c0cf07"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Sep 04 14:29:30 2022 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jul 17 16:01:31 2024 +0000"
      },
      "message": "gma: Work around GNATprove issue with nested loops\n\nAdd some explicit `Loop_Invariant (True)` to work around\nodd check messages. These show up since about the spark-\ncommunity-2019 release and still with newer versions,\nwhich almost seem to hang (takes some minutes longer than\nexpected). Example messages are provided below. Given that\nthe values are in the ranges as stated by the `for` loops,\nthey can\u0027t be out of range.\n\nhw-gfx-gma-plls.adb:323:14: medium: range check might fail\n  323 |         for M1 in reverse M1_Range range Limits.M1_Lower .. Limits.M1_Upper\n      |             ^~\n\nhw-gfx-gma-plls.adb:325:17: medium: range check might fail\n  325 |            for M2 in reverse M2_Range range Limits.M2_Lower .. Int64\u0027Min (Limits.M2_Upper, M1)\n      |                ^~\n\nhw-gfx-gma-plls.adb:327:20: medium: range check might fail\n  327 |               for P1 in reverse P1_Range range Limits.P1_Lower .. Limits.P1_Upper\n      |                   ^~\n\nhw-gfx-gma-plls.adb:332:41: medium: range check might fail\n  332 |                     M2              \u003d\u003e M2,\n      |                                        ^~\n  reason for check: input value must fit in parameter type\n\nChange-Id: I5430081767c760b85401300e0db4d26fd78270d7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/68112\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "2bbd6e7c6044d7c3fb5607834d00e4e7d83a2ada",
      "tree": "9d39e3333feda6885ff63692c935e4ac114fb3a3",
      "parents": [
        "8a6e7bd43caef134bcb9616da9be3b4344850123"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 18:22:59 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:18 2020 +0000"
      },
      "message": "gma panel: Introduce `Panel_Control` type\n\nFor now, `Panel_Control` only distinguishes `Panel_1` from `No_Panel`,\ni.e. if a port has a panel attached or not. To ease future addition of\nsupport for more than one panel, we already add loops and arrays around\nit, though.\n\nWith the information, if a port has a panel attached, in `Port_Config`,\nwe can pass that on into Panel.* procedures and let those decide what\nto do (e.g. do nothing if no panel is attached).\n\nChange-Id: I83864bc86b48f65d9ba43e083b805ca09497cbb0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38243\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "8beafd74958561988d29ba0897e057d4f3204a27",
      "tree": "1676c1e615c4714b9c2394ffd8bf1260ed73b7da",
      "parents": [
        "fe7985f2a0692bc773d470a92ec54d22d3c12e4b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 07 14:59:44 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 05 15:12:05 2020 +0000"
      },
      "message": "gma: Split `Internal` port type into `eDP` \u0026 `LVDS`\n\nWe used to have a single type `Internal`, in the GMA interface, to\nrepresent the port for any internal panel. This seemed suitable as\nall mainboard targets used the additional panel logic (power se-\nquencing, backlight) only with either one of the eDP and LVDS ports.\n\nHowever, the hardware allows to combine the panel logic also with\nother ports. And some of the regular DP ports are even mentioned as\nalternatives to the dedicated eDP port.\n\nAs a first step towards supporting such less common combinations,\nwe get rid of the single `Internal` type. All the panel logic still\nassumes that either the dedicated eDP or the LVDS port is used for\nan internal display. We introduce `Internal_Port_Type` to represent\neDP and LVDS, for this. But it should vanish, once the panel logic\nis adapted.\n\nChange-Id: Iadf3c11bd35d085cf47a961e800b0d96b79f62f5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/38239\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "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": "318bca1636edc2c550068398be10977e45c45a2b",
      "tree": "b02caf27a69f13aa83d19dc43561f2c8e64e1dff",
      "parents": [
        "cf88f3d1567cf6475be5ddf3e7a433895a6144a6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 09 19:22:52 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 06 16:19:21 2019 +0000"
      },
      "message": "gma config, port detection: Scatter Valid_Port initialization\n\nWe did overwrite most the default values for `Config.Valid_Port` anyway.\nSo move the few remaining defaults where they are visible together with\nthe other runtime settings.\n\nChange-Id: I17df08de0aa1ffb303646ea564c100bb702407f5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/libgfxinit/+/27047\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "718c79bb0713b5b90c9cc44e03197dc777066e3d",
      "tree": "d8e6657e3773ee9b06197e0f6e1d4c33b8bb4927",
      "parents": [
        "f361ec81e075b3ece15fcb910ec4c96758ce33c2"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Mon Jun 04 15:31:48 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jun 06 11:04:58 2018 +0000"
      },
      "message": "g45/hw-gfx-gma-gmch-hdmi.adb: Use GMCH_HDMI_MODE_SELECT_DVI\n\nWith GMCH_HDMI_MODE_SELECT_HDMI set the controller will be sending\nnull packets during Vsync. This only works on displays supporting HDMI\noperation, while GMCH_HDMI_MODE_SELECT_DVI ought to work on all\nHDMI/DVI displays.\n\nChange-Id: I75c669b913ef4d5494d78bed55f8e38bba0b0362\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/26833\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "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"
    }
  ]
}
