)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "3d06de825053c45f9fdb413b72f3174809533a51",
      "tree": "81f69ad4add628d9f00e6b6211c86536cac8982d",
      "parents": [
        "73ea03245445527a80b70e41cf4a910371014ca0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 29 01:35:04 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 03 20:33:31 2018 +0000"
      },
      "message": "gma hsw: Enable Power Down Well for scaling on DDI A\n\nThe primary pipe can drive DDI A (eDP) without the Power Down\nWell (PDW). The scalers are inside the PDW, though. To enable\nscaling for DDI A, ensure the PDW is active.\n\nWhen switching between scaled / unscaled modes, we\u0027ll have to\nreconfigure the whole pipe.\n\nChange-Id: I46318bb74d00a584d268a9d76787f8b26249264d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/26663\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d1988d1a033d4d12b48cbc6640984ef3b143fd30",
      "tree": "9ece798e34f1a48a6cff2bbf3dd14208de0a564f",
      "parents": [
        "7628493a7e7acaba93d607db008a59ec8fa8eebe"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 28 16:27:57 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 03 12:59:42 2018 +0000"
      },
      "message": "gma: Make Raw_Clock a variable\n\nOn GMCH the Raw_Clock depends on the FSB frequency.\n\nChange-Id: I11af9ecb3504983ba1d3136c1b82bd14363afdba\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/25403\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "99f10f30d15c287ed8e27159a1a4350a1228bc51",
      "tree": "e1831c8087faec3cc34cd82f54ba01f23d6d5dfd",
      "parents": [
        "43cf8d5b120bda9a3ecbec5dd4cfa479818d32b6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 20 00:34:05 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:57:51 2016 +0100"
      },
      "message": "gma: Rename Config_Type \u003d\u003e Pipe_Config\n\nThis was long overdue. Originally, we only had one type of `confi-\nguration` but those times are over. Thus, rename `Config_Type` to\n`Pipe_Config` along with `Configs_Type` to `Pipe_Configs` and\n`Config_Index` to `Pipe_Index` to give them more meaningful names.\n\nChange-Id: Ic02c738f51b01a883e05eff1c94f9c2d6058fdc4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17749\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "43cf8d5b120bda9a3ecbec5dd4cfa479818d32b6",
      "tree": "1215b3427bf45a288315010c8fa89e0a3724fa27",
      "parents": [
        "88a7f17b7d7a4f8a4d25ef6b87c71236b0862f5d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Sep 08 17:24:52 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 13 22:52:15 2016 +0100"
      },
      "message": "gma haswell: Turn comment into sane code\n\nRegisters.Wait_Unset_Mask() has a timeout parameter for some time now.\n\nChange-Id: Ib35952c490b2d5d607d5d00db52411d5dc449d8e\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17688\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Reto Buerki \u003creet@codelabs.ch\u003e\n"
    },
    {
      "commit": "125a29e84242900a5556e8a068227e59420c3e1c",
      "tree": "925c85a1e9a5dc0506c9ccd26cd8ba4e05dd3d33",
      "parents": [
        "be4eaddc67ee3a11b1222db049cd8830491363d9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Oct 18 00:23:54 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 20 13:05:15 2016 +0200"
      },
      "message": "Relicense libgfxinit under GPL v2+\n\nChange-Id: I5d683dda83d23e89955a4d840b5570bd8642834a\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17052\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\n"
    },
    {
      "commit": "83693c8d7d87f5cebe120abdf25951c9e212b319",
      "tree": "249eff589087c2ed8deeeeda1710ff49a3c3c810",
      "parents": [],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Sat Oct 08 22:17:55 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 09 11:34:25 2016 +0200"
      },
      "message": "Initial upstream commit\n\nThe history contained unlicensed code so everything got squashed, sorry.\n\nChange-Id: I9f5775208f9df6fb29074bf3bc498f68cb17b3a0\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\n"
    }
  ]
}
