)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"434224f3ab7f25d6ffe92e434631015487eb1741","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"28fee903_47a63e65","updated":"2022-11-29 13:31:42.000000000","message":"pushing reply to publish comments...","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"0b98ed698b074439b624c0a4f87351ec1036b1a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"203630c4_5f02c48d","in_reply_to":"28fee903_47a63e65","updated":"2022-11-29 20:07:54.000000000","message":"Thanks for reviewing!","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"2ca7dadc8115a4eced776b41f1aa6ddba4c48139","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6620f0c0_1d29c3c6","updated":"2022-11-30 09:31:26.000000000","message":"gerrrrrrrit","commit_id":"22a697fd63595f3c433048115868d6959c7265e6"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"173357c6f6cb83e799b44ec387f659064f7f3cc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"848534db_0aa71144","updated":"2022-12-19 12:36:56.000000000","message":"\u003e Patch Set 8: Verified-1\n\u003e \n\u003e Build Failed \n\u003e \n\u003e https://build.openocd.org/job/openocd-gerrit-build/16386/ : FAILURE\n\u003e \n\u003e https://build.openocd.org/job/openocd-gerrit/17182/ : SUCCESS\n\n","commit_id":"8e0fe5dabef9d8d61877f5171df11e1e56d02d0f"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"25be6c97_8db96226","updated":"2023-04-08 22:09:29.000000000","message":"Thanks for reviewing.","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"}],"doc/openocd.texi":[{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"434224f3ab7f25d6ffe92e434631015487eb1741","unresolved":true,"context_lines":[{"line_number":8607,"context_line":"@end deffn"},{"line_number":8608,"context_line":""},{"line_number":8609,"context_line":"@deffn {FPGA Driver} {gowin}"},{"line_number":8610,"context_line":"This driver can be used to load the bitstream into FPGAs form Gowin."},{"line_number":8611,"context_line":"It is possible to program the SRAM. Programming the flash is not supported."},{"line_number":8612,"context_line":""},{"line_number":8613,"context_line":"@example"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"d5defe98_dc50d285","line":8610,"updated":"2022-11-29 13:31:42.000000000","message":"minor typo in \"form\"","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"0b98ed698b074439b624c0a4f87351ec1036b1a2","unresolved":false,"context_lines":[{"line_number":8607,"context_line":"@end deffn"},{"line_number":8608,"context_line":""},{"line_number":8609,"context_line":"@deffn {FPGA Driver} {gowin}"},{"line_number":8610,"context_line":"This driver can be used to load the bitstream into FPGAs form Gowin."},{"line_number":8611,"context_line":"It is possible to program the SRAM. Programming the flash is not supported."},{"line_number":8612,"context_line":""},{"line_number":8613,"context_line":"@example"}],"source_content_type":"text/x-texinfo","patch_set":2,"id":"fce8d474_38fceee7","line":8610,"in_reply_to":"d5defe98_dc50d285","updated":"2022-11-29 20:07:54.000000000","message":"Done","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"}],"src/pld/gowin.c":[{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"434224f3ab7f25d6ffe92e434631015487eb1741","unresolved":true,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"\tif (input_stat.st_size \u003d\u003d 0) {"},{"line_number":190,"context_line":"\t\tLOG_ERROR(\"Empty file %s\", filename);"},{"line_number":191,"context_line":"\t\treturn ERROR_PLD_FILE_LOAD_FAILED;"},{"line_number":192,"context_line":"\t}"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"\t/* check if binary .bin or ascii .bit/.hex */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"de7b3262_91733cc4","line":191,"updated":"2022-11-29 13:31:42.000000000","message":"are none of these checks something that could be handled at a higher level and be shared?","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"29831c17a881a66a76ea7b4748ee13307adb57ee","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"\tif (input_stat.st_size \u003d\u003d 0) {"},{"line_number":190,"context_line":"\t\tLOG_ERROR(\"Empty file %s\", filename);"},{"line_number":191,"context_line":"\t\treturn ERROR_PLD_FILE_LOAD_FAILED;"},{"line_number":192,"context_line":"\t}"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"\t/* check if binary .bin or ascii .bit/.hex */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"bae3487f_0e411101","line":191,"in_reply_to":"3c1ef03b_626e0178","updated":"2022-11-30 15:32:01.000000000","message":"As already mentioned in the intel patch, I prepare a new patch to refactor these parts out.","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"2ca7dadc8115a4eced776b41f1aa6ddba4c48139","unresolved":true,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"\tif (input_stat.st_size \u003d\u003d 0) {"},{"line_number":190,"context_line":"\t\tLOG_ERROR(\"Empty file %s\", filename);"},{"line_number":191,"context_line":"\t\treturn ERROR_PLD_FILE_LOAD_FAILED;"},{"line_number":192,"context_line":"\t}"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"\t/* check if binary .bin or ascii .bit/.hex */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"3c1ef03b_626e0178","line":191,"in_reply_to":"3e01bf16_4fda4981","updated":"2022-11-30 09:31:26.000000000","message":"I don\u0027t mind personally, if you\u0027re happy to do the followup work, it\u0027s just something that stood out to me as generic code.","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"4a044e79519ebc26a1bd6b80391d2504b0154d77","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"\tif (input_stat.st_size \u003d\u003d 0) {"},{"line_number":190,"context_line":"\t\tLOG_ERROR(\"Empty file %s\", filename);"},{"line_number":191,"context_line":"\t\treturn ERROR_PLD_FILE_LOAD_FAILED;"},{"line_number":192,"context_line":"\t}"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"\t/* check if binary .bin or ascii .bit/.hex */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"ddb3e214_fcf862f9","line":191,"in_reply_to":"bae3487f_0e411101","updated":"2022-11-30 22:15:26.000000000","message":"see patch \"pld: move file sanity checks to pld.c\"\nthanks!","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"0b98ed698b074439b624c0a4f87351ec1036b1a2","unresolved":true,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"\tif (input_stat.st_size \u003d\u003d 0) {"},{"line_number":190,"context_line":"\t\tLOG_ERROR(\"Empty file %s\", filename);"},{"line_number":191,"context_line":"\t\treturn ERROR_PLD_FILE_LOAD_FAILED;"},{"line_number":192,"context_line":"\t}"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"\t/* check if binary .bin or ascii .bit/.hex */"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"3e01bf16_4fda4981","line":191,"in_reply_to":"de7b3262_91733cc4","updated":"2022-11-29 20:07:54.000000000","message":"Yes, it is the same for all drivers. I prepare a patch with bit_file.c/bit_file.h with this function and moving the stuff from raw_bit also into these files.\n\nThis need to be changed for all (xilinx, lattice, intel, efinix, gowin). \nShall I prepare a patch which can be applied afterwards or adjust all of them starting with already reviewed ecp2/5 and efinix drivers?","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"434224f3ab7f25d6ffe92e434631015487eb1741","unresolved":true,"context_lines":[{"line_number":195,"context_line":"\tconst char *file_suffix_pos \u003d strrchr(filename, \u0027.\u0027);"},{"line_number":196,"context_line":"\tif (!file_suffix_pos) {"},{"line_number":197,"context_line":"\t\tLOG_ERROR(\"Unable to detect filename suffix\");"},{"line_number":198,"context_line":"\t\treturn ERROR_PLD_FILE_LOAD_FAILED;"},{"line_number":199,"context_line":"\t}"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"\tif (strcasecmp(file_suffix_pos, \".bin\") \u003d\u003d 0) {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"2b4f7583_d6fdf3a7","line":198,"updated":"2022-11-29 13:31:42.000000000","message":"Should this either warn that it\u0027s defaulting to assuming bin/fs, or at least say what suffices it\u0027s looking for?","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"0b98ed698b074439b624c0a4f87351ec1036b1a2","unresolved":false,"context_lines":[{"line_number":195,"context_line":"\tconst char *file_suffix_pos \u003d strrchr(filename, \u0027.\u0027);"},{"line_number":196,"context_line":"\tif (!file_suffix_pos) {"},{"line_number":197,"context_line":"\t\tLOG_ERROR(\"Unable to detect filename suffix\");"},{"line_number":198,"context_line":"\t\treturn ERROR_PLD_FILE_LOAD_FAILED;"},{"line_number":199,"context_line":"\t}"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"\tif (strcasecmp(file_suffix_pos, \".bin\") \u003d\u003d 0) {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"9efd07a7_d3740136","line":198,"in_reply_to":"2b4f7583_d6fdf3a7","updated":"2022-11-29 20:07:54.000000000","message":"Done","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"aeb65494b98b57c76e19e3aab2094b7d646a5f21","unresolved":true,"context_lines":[{"line_number":29,"context_line":"#define ENABLE_2ND_FLASH            0x78"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define STAUS_MASK_MEMORY_ERASE        (0x00000001 \u003c\u003c  5)"},{"line_number":32,"context_line":"#define STAUS_MASK_SYSTEM_EDIT_MODE    (0x00000001 \u003c\u003c  7)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"#define GW1N  1 /* GW1N(R)-1/2/4 */"},{"line_number":35,"context_line":"#define GW1NS 2 /* GW1NS-2 and GW1NS(R)-2C */"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"1b3aa5de_f1aa717d","line":32,"updated":"2023-04-02 17:05:49.000000000","message":"#define STAUS_MASK_MEMORY_ERASE     BIT(5)\n#define STAUS_MASK_SYSTEM_EDIT_MODE BIT(7)","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[{"line_number":29,"context_line":"#define ENABLE_2ND_FLASH            0x78"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#define STAUS_MASK_MEMORY_ERASE        (0x00000001 \u003c\u003c  5)"},{"line_number":32,"context_line":"#define STAUS_MASK_SYSTEM_EDIT_MODE    (0x00000001 \u003c\u003c  7)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"#define GW1N  1 /* GW1N(R)-1/2/4 */"},{"line_number":35,"context_line":"#define GW1NS 2 /* GW1NS-2 and GW1NS(R)-2C */"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"d884d350_6699e625","line":32,"in_reply_to":"1b3aa5de_f1aa717d","updated":"2023-04-08 22:09:29.000000000","message":"Done","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"aeb65494b98b57c76e19e3aab2094b7d646a5f21","unresolved":true,"context_lines":[{"line_number":34,"context_line":"#define GW1N  1 /* GW1N(R)-1/2/4 */"},{"line_number":35,"context_line":"#define GW1NS 2 /* GW1NS-2 and GW1NS(R)-2C */"},{"line_number":36,"context_line":"#define GW1NZ 3 /* GW1N(R)-6/9 and GW1NZ-1 */"},{"line_number":37,"context_line":"#define GW2A  4 /* GW2A-18/55 */"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"struct gowin_pld_device {"},{"line_number":40,"context_line":"\tstruct jtag_tap *tap;"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"3c446e03_b00e0809","line":37,"updated":"2023-04-02 17:05:49.000000000","message":"these macros are unused. What\u0027s their purpose for? Should be replaced by an enum?","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[{"line_number":34,"context_line":"#define GW1N  1 /* GW1N(R)-1/2/4 */"},{"line_number":35,"context_line":"#define GW1NS 2 /* GW1NS-2 and GW1NS(R)-2C */"},{"line_number":36,"context_line":"#define GW1NZ 3 /* GW1N(R)-6/9 and GW1NZ-1 */"},{"line_number":37,"context_line":"#define GW2A  4 /* GW2A-18/55 */"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"struct gowin_pld_device {"},{"line_number":40,"context_line":"\tstruct jtag_tap *tap;"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"45528965_65cb81fd","line":37,"in_reply_to":"3c446e03_b00e0809","updated":"2023-04-08 22:09:29.000000000","message":"Done","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"aeb65494b98b57c76e19e3aab2094b7d646a5f21","unresolved":true,"context_lines":[{"line_number":115,"context_line":"\t\t\tbit_file-\u003eid \u003d value \u0026 0xffffffff;"},{"line_number":116,"context_line":"\t\t} else if (key \u003d\u003d 0x3B) {"},{"line_number":117,"context_line":"\t\t\tend_of_header \u003d 1;"},{"line_number":118,"context_line":"\t\t\tbit_file-\u003ecrc_en \u003d (value \u0026 (0x1 \u003c\u003c 23)) ? 1 : 0;"},{"line_number":119,"context_line":"\t\t}"},{"line_number":120,"context_line":"\t}"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"9c1c6504_5fab7443","line":118,"updated":"2023-04-02 17:05:49.000000000","message":"(value \u0026 BIT(23)) ? ...","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[{"line_number":115,"context_line":"\t\t\tbit_file-\u003eid \u003d value \u0026 0xffffffff;"},{"line_number":116,"context_line":"\t\t} else if (key \u003d\u003d 0x3B) {"},{"line_number":117,"context_line":"\t\t\tend_of_header \u003d 1;"},{"line_number":118,"context_line":"\t\t\tbit_file-\u003ecrc_en \u003d (value \u0026 (0x1 \u003c\u003c 23)) ? 1 : 0;"},{"line_number":119,"context_line":"\t\t}"},{"line_number":120,"context_line":"\t}"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"6074e50c_1aa7a248","line":118,"in_reply_to":"9c1c6504_5fab7443","updated":"2023-04-08 22:09:29.000000000","message":"Done","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"aeb65494b98b57c76e19e3aab2094b7d646a5f21","unresolved":true,"context_lines":[{"line_number":227,"context_line":"\tfield.check_mask \u003d NULL;"},{"line_number":228,"context_line":"\tfield.check_value \u003d NULL;"},{"line_number":229,"context_line":"\tfield.num_bits \u003d 32;"},{"line_number":230,"context_line":"\tfield.out_value \u003d (uint8_t *)result;"},{"line_number":231,"context_line":"\tfield.in_value \u003d (uint8_t *)result;"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"\tjtag_add_dr_scan(tap, 1, \u0026field, TAP_IDLE);"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"3fd2b2d4_98204cae","line":230,"updated":"2023-04-02 17:05:49.000000000","message":"Hummm, you have an array of uint32_t on host PC, and you pass it to JTAG as uint8_t.\nAre you assuming the host PC to be little-endian? What about big-endian hosts?\nFor me you should use:\n uint8_t buf[4];\n h_u32_to_le(buf, *result);\n field.out_value \u003d buf;\n field.in_value \u003d buf;\n\nand after the JTAG operations\n *result \u003d le_to_h_u32(buf);","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[{"line_number":227,"context_line":"\tfield.check_mask \u003d NULL;"},{"line_number":228,"context_line":"\tfield.check_value \u003d NULL;"},{"line_number":229,"context_line":"\tfield.num_bits \u003d 32;"},{"line_number":230,"context_line":"\tfield.out_value \u003d (uint8_t *)result;"},{"line_number":231,"context_line":"\tfield.in_value \u003d (uint8_t *)result;"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"\tjtag_add_dr_scan(tap, 1, \u0026field, TAP_IDLE);"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"009de4fe_021e98ed","line":230,"in_reply_to":"3fd2b2d4_98204cae","updated":"2023-04-08 22:09:29.000000000","message":"Done","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"aeb65494b98b57c76e19e3aab2094b7d646a5f21","unresolved":true,"context_lines":[{"line_number":257,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":258,"context_line":"\t\treturn retval;"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"\treturn gowin_check_status_flag(tap, STAUS_MASK_SYSTEM_EDIT_MODE,"},{"line_number":261,"context_line":"\t\t\t\t\t\t\t\tSTAUS_MASK_SYSTEM_EDIT_MODE);"},{"line_number":262,"context_line":"}"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"e79d593d_ac9976fd","line":260,"updated":"2023-04-02 17:05:49.000000000","message":"we accept line of 120 chars. Keep all in one line","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[{"line_number":257,"context_line":"\tif (retval !\u003d ERROR_OK)"},{"line_number":258,"context_line":"\t\treturn retval;"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"\treturn gowin_check_status_flag(tap, STAUS_MASK_SYSTEM_EDIT_MODE,"},{"line_number":261,"context_line":"\t\t\t\t\t\t\t\tSTAUS_MASK_SYSTEM_EDIT_MODE);"},{"line_number":262,"context_line":"}"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":13,"id":"3802a86c_74632263","line":260,"in_reply_to":"e79d593d_ac9976fd","updated":"2023-04-08 22:09:29.000000000","message":"Done","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"aeb65494b98b57c76e19e3aab2094b7d646a5f21","unresolved":true,"context_lines":[{"line_number":269,"context_line":"\t\treturn retval;"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"\treturn gowin_check_status_flag(tap, STAUS_MASK_SYSTEM_EDIT_MODE,"},{"line_number":272,"context_line":"\t\t\t\t\t\t\t\t0);"},{"line_number":273,"context_line":"}"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"static int gowin_reload(struct jtag_tap *tap)"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"482c8266_9d9a0061","line":272,"updated":"2023-04-02 17:05:49.000000000","message":"don\u0027t split this line, it can stay in a single line","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[{"line_number":269,"context_line":"\t\treturn retval;"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"\treturn gowin_check_status_flag(tap, STAUS_MASK_SYSTEM_EDIT_MODE,"},{"line_number":272,"context_line":"\t\t\t\t\t\t\t\t0);"},{"line_number":273,"context_line":"}"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"static int gowin_reload(struct jtag_tap *tap)"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"0b50f0e1_fa447d06","line":272,"in_reply_to":"482c8266_9d9a0061","updated":"2023-04-08 22:09:29.000000000","message":"Done","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"aeb65494b98b57c76e19e3aab2094b7d646a5f21","unresolved":true,"context_lines":[{"line_number":492,"context_line":"\t\t.handler \u003d gowin_read_status_command_handler,"},{"line_number":493,"context_line":"\t\t.help \u003d \"reading status register from FPGA\","},{"line_number":494,"context_line":"\t\t.usage \u003d \"num_pld [GW2A] [verbose]\","},{"line_number":495,"context_line":"\t\t.chain \u003d NULL,"},{"line_number":496,"context_line":"\t}, {"},{"line_number":497,"context_line":"\t\t.name \u003d \"read_user\","},{"line_number":498,"context_line":"\t\t.mode \u003d COMMAND_EXEC,"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"53e8b0f2_3f6d1662","line":495,"updated":"2023-04-02 17:05:49.000000000","message":"remove the empty .chain, here and below","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"570a384ec9abd1677f39fa3fb4f7445c7e23b415","unresolved":false,"context_lines":[{"line_number":492,"context_line":"\t\t.handler \u003d gowin_read_status_command_handler,"},{"line_number":493,"context_line":"\t\t.help \u003d \"reading status register from FPGA\","},{"line_number":494,"context_line":"\t\t.usage \u003d \"num_pld [GW2A] [verbose]\","},{"line_number":495,"context_line":"\t\t.chain \u003d NULL,"},{"line_number":496,"context_line":"\t}, {"},{"line_number":497,"context_line":"\t\t.name \u003d \"read_user\","},{"line_number":498,"context_line":"\t\t.mode \u003d COMMAND_EXEC,"}],"source_content_type":"text/x-csrc","patch_set":13,"id":"771a727e_c1683cd5","line":495,"in_reply_to":"53e8b0f2_3f6d1662","updated":"2023-04-08 22:09:29.000000000","message":"Done","commit_id":"bb6b630b549defc37561fd2b3a462e6ce57e8673"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8953e5682126b43e3364f7ba16a0bb3dda864a7d","unresolved":true,"context_lines":[{"line_number":65,"context_line":"\t\t\tbuffer \u003d realloc(bit_file-\u003eraw_file.data, bit_file-\u003ecapacity + 8192);"},{"line_number":66,"context_line":"\t\telse"},{"line_number":67,"context_line":"\t\t\tbuffer \u003d malloc(8192);"},{"line_number":68,"context_line":"\t\tif (!buffer)"},{"line_number":69,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":70,"context_line":"\t\tbit_file-\u003eraw_file.data \u003d buffer;"},{"line_number":71,"context_line":"\t\tbit_file-\u003ecapacity +\u003d 8192;"}],"source_content_type":"text/x-csrc","patch_set":16,"id":"1d9ecc63_95f27ec7","line":68,"updated":"2023-04-10 16:31:59.000000000","message":"Please add\n LOG_ERROR(\"Out of memory\");","commit_id":"e451b30706414d28b2fa833d6440c8389badafad"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"c984f9e21cec505ff755f7db47210c28aed30935","unresolved":false,"context_lines":[{"line_number":65,"context_line":"\t\t\tbuffer \u003d realloc(bit_file-\u003eraw_file.data, bit_file-\u003ecapacity + 8192);"},{"line_number":66,"context_line":"\t\telse"},{"line_number":67,"context_line":"\t\t\tbuffer \u003d malloc(8192);"},{"line_number":68,"context_line":"\t\tif (!buffer)"},{"line_number":69,"context_line":"\t\t\treturn ERROR_FAIL;"},{"line_number":70,"context_line":"\t\tbit_file-\u003eraw_file.data \u003d buffer;"},{"line_number":71,"context_line":"\t\tbit_file-\u003ecapacity +\u003d 8192;"}],"source_content_type":"text/x-csrc","patch_set":16,"id":"3741c50a_5f04c0e2","line":68,"in_reply_to":"1d9ecc63_95f27ec7","updated":"2023-04-12 21:15:10.000000000","message":"Done","commit_id":"e451b30706414d28b2fa833d6440c8389badafad"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"8953e5682126b43e3364f7ba16a0bb3dda864a7d","unresolved":true,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"\tfield.num_bits \u003d tap-\u003eir_length;"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"\tvoid *t \u003d calloc(DIV_ROUND_UP(field.num_bits, 8), 1);"},{"line_number":204,"context_line":"\tfield.out_value \u003d t;"},{"line_number":205,"context_line":"\tbuf_set_u32(t, 0, field.num_bits, new_instr);"},{"line_number":206,"context_line":"\tfield.in_value \u003d NULL;"}],"source_content_type":"text/x-csrc","patch_set":16,"id":"2a8741a0_7ab18d36","line":203,"updated":"2023-04-10 16:31:59.000000000","message":"if (!t) ...","commit_id":"e451b30706414d28b2fa833d6440c8389badafad"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"c984f9e21cec505ff755f7db47210c28aed30935","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"\tfield.num_bits \u003d tap-\u003eir_length;"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"\tvoid *t \u003d calloc(DIV_ROUND_UP(field.num_bits, 8), 1);"},{"line_number":204,"context_line":"\tfield.out_value \u003d t;"},{"line_number":205,"context_line":"\tbuf_set_u32(t, 0, field.num_bits, new_instr);"},{"line_number":206,"context_line":"\tfield.in_value \u003d NULL;"}],"source_content_type":"text/x-csrc","patch_set":16,"id":"ba0ff0bb_3d386166","line":203,"in_reply_to":"2a8741a0_7ab18d36","updated":"2023-04-12 21:15:10.000000000","message":"Done","commit_id":"e451b30706414d28b2fa833d6440c8389badafad"}],"tcl/fpga/gowin_gw1n.cfg":[{"author":{"_account_id":1000859,"name":"Karl Palsson","email":"karlp@tweak.au","username":"karlp"},"change_message_id":"434224f3ab7f25d6ffe92e434631015487eb1741","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# SPDX-License-Identifier: GPL-2.0-or-later"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# efinix trion"},{"line_number":4,"context_line":"# https://www.efinixinc.com/docs/an021-jtag-bst-trion-v1.0.pdf"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"if { [info exists CHIPNAME] } {"},{"line_number":7,"context_line":"\tset _CHIPNAME $CHIPNAME"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"72bda754_e6b6ecf1","line":4,"updated":"2022-11-29 13:31:42.000000000","message":"This doesn\u0027t seem to be the correct docs for the gowin file?","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"},{"author":{"_account_id":1001810,"name":"Daniel Anselmi","email":"danselmi@gmx.ch","username":"danselmi"},"change_message_id":"0b98ed698b074439b624c0a4f87351ec1036b1a2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# SPDX-License-Identifier: GPL-2.0-or-later"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# efinix trion"},{"line_number":4,"context_line":"# https://www.efinixinc.com/docs/an021-jtag-bst-trion-v1.0.pdf"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"if { [info exists CHIPNAME] } {"},{"line_number":7,"context_line":"\tset _CHIPNAME $CHIPNAME"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"d1727481_2ff71e09","line":4,"in_reply_to":"72bda754_e6b6ecf1","updated":"2022-11-29 20:07:54.000000000","message":"Done","commit_id":"1a4c8be6f2a6d4281a17f7277970351764f4e1fe"}]}
