)]}'
{"common/hw-gfx-gma-connectors.ads":[{"author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3f67f63730e9939327a90812ffccbc9efa87ec37","unresolved":false,"context_lines":[{"line_number":47,"context_line":"   pragma Warnings (GNATprove, On, \"unused variable \"\"P*\"\"\");"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"   procedure Pre_Off (Port_Cfg : Port_Config);"},{"line_number":50,"context_line":"   procedure Post_Off (Port_Cfg : Port_Config);"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   procedure Pre_All_Off;"},{"line_number":53,"context_line":"   procedure Post_All_Off;"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"da3c2712_feb657db","line":50,"updated":"2026-04-18 19:38:44.000000000","message":"Config(s): tigerlake alderlake\n```\nhw-gfx-gma-connectors.ads:50: warning: subprogram \"Post_Off\" has no effect\n   50 |   procedure Post_Off (Port_Cfg : Port_Config);\n      |             ^ here\n```","commit_id":"376a381e58f361f71ac89d0f0b05ccc4ce8ce78a"},{"author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3f67f63730e9939327a90812ffccbc9efa87ec37","unresolved":false,"context_lines":[{"line_number":50,"context_line":"   procedure Post_Off (Port_Cfg : Port_Config);"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   procedure Pre_All_Off;"},{"line_number":53,"context_line":"   procedure Post_All_Off;"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"end HW.GFX.GMA.Connectors;"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"9c6c2a6b_eb37af81","line":53,"updated":"2026-04-18 19:38:44.000000000","message":"Config(s): tigerlake alderlake\n```\nhw-gfx-gma-connectors.ads:53: warning: subprogram \"Post_All_Off\" has no effect\n   53 |   procedure Post_All_Off;\n      |             ^ here\n```","commit_id":"376a381e58f361f71ac89d0f0b05ccc4ce8ce78a"}],"common/hw-gfx-gma-port_detect.ads":[{"author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3f67f63730e9939327a90812ffccbc9efa87ec37","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"private package HW.GFX.GMA.Port_Detect is"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"   procedure Initialize;"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"   procedure Hotplug_Detect"},{"line_number":20,"context_line":"     (Port     : in Active_Port_Type;"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"1e13a9ab_b57b60ed","line":17,"updated":"2026-04-18 19:38:44.000000000","message":"Config(s): tigerlake alderlake\n```\nhw-gfx-gma-port_detect.ads:17: warning: subprogram \"Initialize\" has no effect\n   17 |   procedure Initialize;\n      |             ^ here\n```","commit_id":"376a381e58f361f71ac89d0f0b05ccc4ce8ce78a"},{"author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3f67f63730e9939327a90812ffccbc9efa87ec37","unresolved":false,"context_lines":[{"line_number":17,"context_line":"   procedure Initialize;"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"   procedure Hotplug_Detect"},{"line_number":20,"context_line":"     (Port     : in Active_Port_Type;"},{"line_number":21,"context_line":"      Detected : out Boolean);"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"   procedure Clear_Hotplug_Detect (Port : Active_Port_Type);"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7d93706e_4ce20809","line":20,"updated":"2026-04-18 19:38:44.000000000","message":"Config(s): tigerlake alderlake\n```\nhw-gfx-gma-port_detect.ads:20: warning: unused variable \"Port\"\n   20 |     (Port     : in Active_Port_Type;\n      |      ^ here\n```","commit_id":"376a381e58f361f71ac89d0f0b05ccc4ce8ce78a"},{"author":{"_account_id":1000029,"name":"Ada SPARK","email":"gnatbot@sourcearcade.org","username":"gnatbot","avatars":[{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c244ab97f43ca382a72e76784b616a4b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3f67f63730e9939327a90812ffccbc9efa87ec37","unresolved":false,"context_lines":[{"line_number":20,"context_line":"     (Port     : in Active_Port_Type;"},{"line_number":21,"context_line":"      Detected : out Boolean);"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"   procedure Clear_Hotplug_Detect (Port : Active_Port_Type);"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"end HW.GFX.GMA.Port_Detect;"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"3b940d59_4933d92d","line":23,"updated":"2026-04-18 19:38:44.000000000","message":"Config(s): alderlake tigerlake\n```\nhw-gfx-gma-port_detect.ads:23: warning: subprogram \"Clear_Hotplug_Detect\" has no effect\n   23 |   procedure Clear_Hotplug_Detect (Port : Active_Port_Type);\n      |             ^ here\n```","commit_id":"376a381e58f361f71ac89d0f0b05ccc4ce8ce78a"}],"common/tigerlake/hw-gfx-gma-plls-combo_phy.adb":[{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"   DPLL_ENABLE_POWER_STATE  : constant :\u003d 1 * 2 ** 26;"},{"line_number":50,"context_line":"   DPLL_SSC_DP              : constant :\u003d 16#200#;"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   subtype PDiv_Range is Positive range 1 .. 8;"},{"line_number":53,"context_line":"   subtype QDiv_Range is Natural range 0 .. 255;"},{"line_number":54,"context_line":"   subtype KDiv_Range is Positive range 1 .. 5;"},{"line_number":55,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":5,"id":"fd5a2afd_8fbdbc48","line":52,"updated":"2026-04-18 12:18:56.000000000","message":"Can we have a numeric type with gaps? PRM says PDiv can be 2, 3, 5, or 7 (register encoding is that minus 1)","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cfb812b5e31871ba0b91707054561f18035bbc77","unresolved":false,"context_lines":[{"line_number":49,"context_line":"   DPLL_ENABLE_POWER_STATE  : constant :\u003d 1 * 2 ** 26;"},{"line_number":50,"context_line":"   DPLL_SSC_DP              : constant :\u003d 16#200#;"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"   subtype PDiv_Range is Positive range 1 .. 8;"},{"line_number":53,"context_line":"   subtype QDiv_Range is Natural range 0 .. 255;"},{"line_number":54,"context_line":"   subtype KDiv_Range is Positive range 1 .. 5;"},{"line_number":55,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":5,"id":"38ad4d6e_0513c8ed","line":52,"in_reply_to":"fd5a2afd_8fbdbc48","updated":"2026-04-18 17:27:24.000000000","message":"Not directly, but the topic is \"subtype predicates\".\n\nSubtype predicates are basically boolean expressions that are checked\nwhenever range checks would occur (e.g. on assignment). I\u0027ll give this\na shot.\n\nUsing the same types both for the numerical and the encoded values is\nalso a bad idea. I\u0027ll split this. Will be a lot more verbose on the\ntypes, but makes the code cleaner.","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"      DCO_Fraction   : Word32;"},{"line_number":59,"context_line":"      PDiv           : PDiv_Range;"},{"line_number":60,"context_line":"      KDiv           : KDiv_Range;"},{"line_number":61,"context_line":"      QDiv_Mode      : Natural range 0 .. 1;"},{"line_number":62,"context_line":"      QDiv_Ratio     : QDiv_Range;"},{"line_number":63,"context_line":"   end record;"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"   type DP_PLL_Params_Array is array (DP_Bandwidth) of PLL_Params;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"6d22fc3b_67af45cf","line":62,"range":{"start_line":61,"start_character":6,"end_line":62,"end_character":34},"updated":"2026-04-18 12:18:56.000000000","message":"Looks like QDiv_Ratio is zero if and only if QDiv_Mode is zero? I\u0027d consider making QDiv_Mode a boolean.\n\nThen again we might as well keep this aligned with the PRM tables (which are confusing because they list the register value in binary, but the value in decimal that follows is the meaning of said register value, which is +1 for PDiv and QDiv_Ratio).","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"26b8306e29c00e1c3340adb05483ea9dc0fa05f3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"      DCO_Fraction   : Word32;"},{"line_number":59,"context_line":"      PDiv           : PDiv_Range;"},{"line_number":60,"context_line":"      KDiv           : KDiv_Range;"},{"line_number":61,"context_line":"      QDiv_Mode      : Natural range 0 .. 1;"},{"line_number":62,"context_line":"      QDiv_Ratio     : QDiv_Range;"},{"line_number":63,"context_line":"   end record;"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"   type DP_PLL_Params_Array is array (DP_Bandwidth) of PLL_Params;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"55bf1fcd_286a704a","line":62,"range":{"start_line":61,"start_character":6,"end_line":62,"end_character":34},"in_reply_to":"1c6847d6_204b714e","updated":"2026-04-18 17:38:44.000000000","message":"Seems fine","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cfb812b5e31871ba0b91707054561f18035bbc77","unresolved":false,"context_lines":[{"line_number":58,"context_line":"      DCO_Fraction   : Word32;"},{"line_number":59,"context_line":"      PDiv           : PDiv_Range;"},{"line_number":60,"context_line":"      KDiv           : KDiv_Range;"},{"line_number":61,"context_line":"      QDiv_Mode      : Natural range 0 .. 1;"},{"line_number":62,"context_line":"      QDiv_Ratio     : QDiv_Range;"},{"line_number":63,"context_line":"   end record;"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"   type DP_PLL_Params_Array is array (DP_Bandwidth) of PLL_Params;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"1c6847d6_204b714e","line":62,"range":{"start_line":61,"start_character":6,"end_line":62,"end_character":34},"in_reply_to":"6d22fc3b_67af45cf","updated":"2026-04-18 17:27:24.000000000","message":"I\u0027ve dropped the odd `QDiv_Mode` field. It\u0027s redundant information, we know\nit must be `0` if `QDiv \u003d 0` (from the tables) or `QDiv \u003d 1` (by calculation).\nHopefully not too much of a hassle when comparing to the PRM. I\u0027ve kept the\nencoded values. We could express them as binary numbers too, if we want?","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"   type DP_PLL_Params_Array is array (DP_Bandwidth) of PLL_Params;"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"   PLL_Params_19_2MHz : constant DP_PLL_Params_Array :\u003d DP_PLL_Params_Array\u0027"},{"line_number":68,"context_line":"     (DP_Bandwidth_5_4 \u003d\u003e"},{"line_number":69,"context_line":"        (DCO_Integer  \u003d\u003e 16#1a5#,"},{"line_number":70,"context_line":"         DCO_Fraction \u003d\u003e 16#7000#,"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"940e938b_c20fcf24","line":67,"updated":"2026-04-18 12:18:56.000000000","message":"PRM says this is also valid for 38.4 MHz refclock","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":true,"context_lines":[{"line_number":105,"context_line":"      DP_Bandwidth_1_62 \u003d\u003e"},{"line_number":106,"context_line":"        (DCO_Integer  \u003d\u003e 16#151#,"},{"line_number":107,"context_line":"         DCO_Fraction \u003d\u003e 16#4000#,"},{"line_number":108,"context_line":"         PDiv         \u003d\u003e 2,"},{"line_number":109,"context_line":"         KDiv         \u003d\u003e 2,"},{"line_number":110,"context_line":"         QDiv_Mode    \u003d\u003e 0,"},{"line_number":111,"context_line":"         QDiv_Ratio   \u003d\u003e 0));"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"815c5d75_49c51eb6","line":108,"range":{"start_line":108,"start_character":25,"end_line":108,"end_character":26},"updated":"2026-04-18 12:18:56.000000000","message":"If I\u0027m reading the Display PRM correctly, Pdiv for link bit rate \u003d 1.62 GHz and 24 MHz refclock is 0100b, i.e. 4.","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"26b8306e29c00e1c3340adb05483ea9dc0fa05f3","unresolved":false,"context_lines":[{"line_number":105,"context_line":"      DP_Bandwidth_1_62 \u003d\u003e"},{"line_number":106,"context_line":"        (DCO_Integer  \u003d\u003e 16#151#,"},{"line_number":107,"context_line":"         DCO_Fraction \u003d\u003e 16#4000#,"},{"line_number":108,"context_line":"         PDiv         \u003d\u003e 2,"},{"line_number":109,"context_line":"         KDiv         \u003d\u003e 2,"},{"line_number":110,"context_line":"         QDiv_Mode    \u003d\u003e 0,"},{"line_number":111,"context_line":"         QDiv_Ratio   \u003d\u003e 0));"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"376af375_b2aacb67","line":108,"range":{"start_line":108,"start_character":25,"end_line":108,"end_character":26},"in_reply_to":"485de833_d7ddb027","updated":"2026-04-18 17:38:44.000000000","message":"Given that both PRM and Linux agree I think we\u0027ll be fine. Plus I\u0027ve noticed that the PDiv, KDiv, and QDiv values are the same for each DP bandwidth setting independently of the refclock value (the DCO integer and fraction values only change depending on the refclock). At least for DP, that is.","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cfb812b5e31871ba0b91707054561f18035bbc77","unresolved":false,"context_lines":[{"line_number":105,"context_line":"      DP_Bandwidth_1_62 \u003d\u003e"},{"line_number":106,"context_line":"        (DCO_Integer  \u003d\u003e 16#151#,"},{"line_number":107,"context_line":"         DCO_Fraction \u003d\u003e 16#4000#,"},{"line_number":108,"context_line":"         PDiv         \u003d\u003e 2,"},{"line_number":109,"context_line":"         KDiv         \u003d\u003e 2,"},{"line_number":110,"context_line":"         QDiv_Mode    \u003d\u003e 0,"},{"line_number":111,"context_line":"         QDiv_Ratio   \u003d\u003e 0));"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"485de833_d7ddb027","line":108,"range":{"start_line":108,"start_character":25,"end_line":108,"end_character":26},"in_reply_to":"815c5d75_49c51eb6","updated":"2026-04-18 17:27:24.000000000","message":"Keen eyes!\n\nLinux also uses the 4. The calculation is also exact with 4 (+1), and makes\nsense given that we have 2 (+1) for 2.7GHz.\n\nI doubt I\u0027ll be able to test this. If this matches the PCH refclock, it would\nneed a Rocket Lake desktop?","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"      Best_Div :\u003d Candidates(Best_Div_Index);"},{"line_number":181,"context_line":"      if Best_Div mod 2 \u003d 0 then"},{"line_number":182,"context_line":"         pragma Assert (Best_Div \u003e 1);"},{"line_number":183,"context_line":"         if Best_Div \u003d 2 then"},{"line_number":184,"context_line":"            PDiv :\u003d 2;"},{"line_number":185,"context_line":"            QDiv :\u003d 1;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"dc7a80df_c6063735","line":182,"updated":"2026-04-18 12:18:56.000000000","message":"Is this here to help with proofs? The range of `Best_Div` should ensure this","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"26b8306e29c00e1c3340adb05483ea9dc0fa05f3","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"      Best_Div :\u003d Candidates(Best_Div_Index);"},{"line_number":181,"context_line":"      if Best_Div mod 2 \u003d 0 then"},{"line_number":182,"context_line":"         pragma Assert (Best_Div \u003e 1);"},{"line_number":183,"context_line":"         if Best_Div \u003d 2 then"},{"line_number":184,"context_line":"            PDiv :\u003d 2;"},{"line_number":185,"context_line":"            QDiv :\u003d 1;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"ee67ca3c_ff2976d3","line":182,"in_reply_to":"d6482e80_778dcb00","updated":"2026-04-18 17:38:44.000000000","message":"Yup, looks cleaner now. Thank you!","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cfb812b5e31871ba0b91707054561f18035bbc77","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"      Best_Div :\u003d Candidates(Best_Div_Index);"},{"line_number":181,"context_line":"      if Best_Div mod 2 \u003d 0 then"},{"line_number":182,"context_line":"         pragma Assert (Best_Div \u003e 1);"},{"line_number":183,"context_line":"         if Best_Div \u003d 2 then"},{"line_number":184,"context_line":"            PDiv :\u003d 2;"},{"line_number":185,"context_line":"            QDiv :\u003d 1;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"d6482e80_778dcb00","line":182,"in_reply_to":"dc7a80df_c6063735","updated":"2026-04-18 17:27:24.000000000","message":"It was, but actually now it only helped with the next assertion below somehow.\nIt\u0027s quite confusing. Maybe it just changed the order in which z3 was trying\nthings.\n\nI\u0027ve moved the final DCO calculation into a separate procedure. Now we need\noverall fewer helper assertions :) Added some more for the functional correctness\ninstead.","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":211,"context_line":"            QDiv :\u003d 1;"},{"line_number":212,"context_line":"            KDiv :\u003d 3;"},{"line_number":213,"context_line":"         end if;"},{"line_number":214,"context_line":"      end if;"},{"line_number":215,"context_line":"      Params.KDiv :\u003d (case KDiv is"},{"line_number":216,"context_line":"                      when      1 \u003d\u003e 1,"},{"line_number":217,"context_line":"                      when      2 \u003d\u003e 2,"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"5699bade_0c33a481","line":214,"updated":"2026-04-18 12:18:56.000000000","message":"From PRM:\n\u003e If Kdiv !\u003d 2, then Qdiv must be 1. Else Qdiv can be 1 to 255.\nWould it be worth turning it into an assertion?","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":281,"context_line":"      -- for 38.4 MHz refclk"},{"line_number":282,"context_line":"      Power_And_Clocks.Get_Refclk (Refclk);"},{"line_number":283,"context_line":"      if Refclk \u003d 38_400_000 then"},{"line_number":284,"context_line":"         Params.DCO_Fraction :\u003d Shift_Right (Params.DCO_Fraction, 1);"},{"line_number":285,"context_line":"      end if;"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"      Registers.Set_Mask"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"ce317ed2_a13cab55","line":284,"updated":"2026-04-18 12:18:56.000000000","message":"Interesting way of dividing by 2","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"}],"common/tigerlake/hw-gfx-gma-plls-dekel_phy.adb":[{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":166,"context_line":"         is (Shift_Left (N, 16));"},{"line_number":167,"context_line":"      function DKL_CLKTOP2_HSCLKCTL_DSDIV_RATIO (N : Word32) return Word32"},{"line_number":168,"context_line":"         is (Shift_Left (N, 8));"},{"line_number":169,"context_line":"      A_DivRatio, TLineDrv, Inputsel, Hsdiv : Word32;"},{"line_number":170,"context_line":"      Clock_Khz : constant Frequency_KHz :\u003d Frequency_KHz(Clock / 1_000);"},{"line_number":171,"context_line":"   begin"},{"line_number":172,"context_line":"      if Display \u003d DP then"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"ab915095_d4292f03","line":169,"updated":"2026-04-18 12:18:56.000000000","message":"Could be moved to the inner `declare` block","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"26b8306e29c00e1c3340adb05483ea9dc0fa05f3","unresolved":false,"context_lines":[{"line_number":166,"context_line":"         is (Shift_Left (N, 16));"},{"line_number":167,"context_line":"      function DKL_CLKTOP2_HSCLKCTL_DSDIV_RATIO (N : Word32) return Word32"},{"line_number":168,"context_line":"         is (Shift_Left (N, 8));"},{"line_number":169,"context_line":"      A_DivRatio, TLineDrv, Inputsel, Hsdiv : Word32;"},{"line_number":170,"context_line":"      Clock_Khz : constant Frequency_KHz :\u003d Frequency_KHz(Clock / 1_000);"},{"line_number":171,"context_line":"   begin"},{"line_number":172,"context_line":"      if Display \u003d DP then"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"a8b99803_80c1afea","line":169,"in_reply_to":"ab915095_d4292f03","updated":"2026-04-18 17:38:44.000000000","message":"Done","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"}],"common/tigerlake/hw-gfx-gma-plls.ads":[{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"   Abstract_State \u003d\u003e (State with Part_Of \u003d\u003e GMA.State)"},{"line_number":18,"context_line":"is"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"   -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)"},{"line_number":21,"context_line":"   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);"},{"line_number":22,"context_line":"   subtype Configurable_DPLLs is T range T\u0027Succ (Invalid_PLL) .. T\u0027Last;"},{"line_number":23,"context_line":"   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"2602f0b4_e64b75b3","line":20,"updated":"2026-04-18 12:18:56.000000000","message":"I wonder if this still applies","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cfb812b5e31871ba0b91707054561f18035bbc77","unresolved":false,"context_lines":[{"line_number":17,"context_line":"   Abstract_State \u003d\u003e (State with Part_Of \u003d\u003e GMA.State)"},{"line_number":18,"context_line":"is"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"   -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)"},{"line_number":21,"context_line":"   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);"},{"line_number":22,"context_line":"   subtype Configurable_DPLLs is T range T\u0027Succ (Invalid_PLL) .. T\u0027Last;"},{"line_number":23,"context_line":"   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"73c034c4_1794346b","line":20,"in_reply_to":"2602f0b4_e64b75b3","updated":"2026-04-18 17:27:24.000000000","message":"Most likely not, but I\u0027d prefer not to adapt things more to 11.2 that\u0027s currently\nrunning. Better wait for the next update and then test what goes?","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"26b8306e29c00e1c3340adb05483ea9dc0fa05f3","unresolved":false,"context_lines":[{"line_number":17,"context_line":"   Abstract_State \u003d\u003e (State with Part_Of \u003d\u003e GMA.State)"},{"line_number":18,"context_line":"is"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"   -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)"},{"line_number":21,"context_line":"   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);"},{"line_number":22,"context_line":"   subtype Configurable_DPLLs is T range T\u0027Succ (Invalid_PLL) .. T\u0027Last;"},{"line_number":23,"context_line":"   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"d4a7751e_53e8ebc9","line":20,"in_reply_to":"73c034c4_1794346b","updated":"2026-04-18 17:38:44.000000000","message":"Sounds good","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"is"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"   -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)"},{"line_number":21,"context_line":"   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);"},{"line_number":22,"context_line":"   subtype Configurable_DPLLs is T range T\u0027Succ (Invalid_PLL) .. T\u0027Last;"},{"line_number":23,"context_line":"   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;"},{"line_number":24,"context_line":"   subtype DKL_DPLLs is T range TCPLL1 .. TCPLL6;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"3515a6a1_80d84b24","line":21,"range":{"start_line":21,"start_character":8,"end_line":21,"end_character":9},"updated":"2026-04-18 12:18:56.000000000","message":"I wonder why this is named T","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000000,"name":"Nico Huber","email":"nico.h@gmx.de","username":"icon","avatars":[{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/60d420b5d650d48b86d6921a9f683b64.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"cfb812b5e31871ba0b91707054561f18035bbc77","unresolved":false,"context_lines":[{"line_number":18,"context_line":"is"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"   -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)"},{"line_number":21,"context_line":"   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);"},{"line_number":22,"context_line":"   subtype Configurable_DPLLs is T range T\u0027Succ (Invalid_PLL) .. T\u0027Last;"},{"line_number":23,"context_line":"   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;"},{"line_number":24,"context_line":"   subtype DKL_DPLLs is T range TCPLL1 .. TCPLL6;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"51e563a0_8fa1af75","line":21,"range":{"start_line":21,"start_character":8,"end_line":21,"end_character":9},"in_reply_to":"3515a6a1_80d84b24","updated":"2026-04-18 17:27:24.000000000","message":"It\u0027s not uncommon to have a type `T` that represents instances / variants\nof a package. Outside this package it looks like `PLLs.T` which is easy\nto read as the PLLs type.","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"26b8306e29c00e1c3340adb05483ea9dc0fa05f3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"is"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"   -- XXX: Types should be private (but that triggers a bug in SPARK GPL 2016)"},{"line_number":21,"context_line":"   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);"},{"line_number":22,"context_line":"   subtype Configurable_DPLLs is T range T\u0027Succ (Invalid_PLL) .. T\u0027Last;"},{"line_number":23,"context_line":"   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;"},{"line_number":24,"context_line":"   subtype DKL_DPLLs is T range TCPLL1 .. TCPLL6;"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"31b1ee4a_04368f0a","line":21,"range":{"start_line":21,"start_character":8,"end_line":21,"end_character":9},"in_reply_to":"51e563a0_8fa1af75","updated":"2026-04-18 17:38:44.000000000","message":"Makes sense","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"},{"author":{"_account_id":1000012,"name":"Angel Pons","email":"th3fanbus@gmail.com","username":"th3fanbus","avatars":[{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/61cdfc186d8caca5a8908b0a382de6d8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e5c1f3f611902032b1a33149334b4ed2c253b00c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"   type T is (Invalid_PLL, DPLL0, DPLL1, TCPLL1, TCPLL2, TCPLL3, TCPLL4, TCPLL5, TCPLL6);"},{"line_number":22,"context_line":"   subtype Configurable_DPLLs is T range T\u0027Succ (Invalid_PLL) .. T\u0027Last;"},{"line_number":23,"context_line":"   subtype Combo_DPLLs is T range DPLL0 .. DPLL1;"},{"line_number":24,"context_line":"   subtype DKL_DPLLs is T range TCPLL1 .. TCPLL6;"},{"line_number":25,"context_line":"   Invalid : constant T :\u003d Invalid_PLL;"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"   procedure Initialize"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"d068b8a2_69040646","line":24,"range":{"start_line":24,"start_character":11,"end_line":24,"end_character":21},"updated":"2026-04-18 12:18:56.000000000","message":"I\u0027d rename this to `Dekel_DPLLs` but that\u0027s me being me","commit_id":"68eb7d417b9ca8a39bdab2004bd1c31f8485e676"}]}
