)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"279b675e01ad45f880b0077ab449b94ad4d33b9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e7543a8d_f250ab42","updated":"2024-06-11 16:25:24.000000000","message":"Please ignore the relation chain with nrf5 stuff. The patch does not depend on it, just was developed in wrong git branch","commit_id":"e60b941501b450cd579ced765eb6103c48bef1ea"},{"author":{"_account_id":1002041,"name":"Jonathan Bell","email":"jonathan@raspberrypi.com","username":"jonathan.bell"},"change_message_id":"c42b6e45a222c9757ac09c60bc30a5409788857e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"28307024_5e2b9b63","updated":"2024-06-17 14:37:28.000000000","message":"Thanks for adding this support. Assigment of RP1 pinctrl to gpiochip4 is going to be relatively \"sticky\" (i.e. we\u0027re not going to change upstream\u0027s behaviour).\n\nRP1 ASPM behaviour has had a recent change that alleviates some of the issues it causes with bitbash - it\u0027s now a 32us inactivity timeout instead of 4us, but without at least one read cycle at the start of an SWD transaction the first few clock cycles are going to be squashed together.","commit_id":"5f4141df11f2a2a2418d3d2dd3cdbd9f4cb822bb"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"b519e4fa7b95ce316dd64baf0184c15390f7456b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"940db1a5_14aa1d62","in_reply_to":"28307024_5e2b9b63","updated":"2024-06-17 17:00:20.000000000","message":"\u003e but without at least one read cycle at the start of an SWD transaction the first few clock cycles are going to be squashed together.\n\nInteresting. So if we add a dummy read after the first clock edge, we avoid squashing transactions at the beginning without forcing ASPM off? Worth to try.","commit_id":"5f4141df11f2a2a2418d3d2dd3cdbd9f4cb822bb"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"2f964ba914c3001624ce3ace6e8ac4c33ac8c2ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a281fc00_c2333964","in_reply_to":"940db1a5_14aa1d62","updated":"2024-06-18 08:38:47.000000000","message":"I tested with a dummy linuxgpiod_swdio_read() inserted into linuxgpiod_blink().\nWorks nicely. But there is no warranty that OpenOCD never gets suspended by the linux scheduler and therefore PCIe ASPM may fall asleep virtually at any time - e.g. in the middle of SWD transaction. I think that switching ASPM to performance is the only reliable solution.","commit_id":"5f4141df11f2a2a2418d3d2dd3cdbd9f4cb822bb"},{"author":{"_account_id":1002041,"name":"Jonathan Bell","email":"jonathan@raspberrypi.com","username":"jonathan.bell"},"change_message_id":"c38cb35d30f8770baf71decfee6ececef8b8570f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c4ce9fd7_0c52221a","in_reply_to":"a281fc00_c2333964","updated":"2024-07-29 07:45:51.000000000","message":"As a followup to this, the RP1 pinctrl driver now works around the ability of the RC to buffer writes, so the ASPM warning is unnecessary.\n\nhttps://github.com/raspberrypi/linux/pull/6279\n\nFor timing-insensitive applications there is a module parameter to treat all writes as posted, and only serialise when a read is needed, but libgpiod slows everything down with its syscall-per-state-change such that you\u0027ll never see a benefit from userspace.","commit_id":"5f4141df11f2a2a2418d3d2dd3cdbd9f4cb822bb"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"17f933ee1b0d7f277fdcd8c24d6193195f992783","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"721b333a_f6d44029","in_reply_to":"c4ce9fd7_0c52221a","updated":"2024-07-31 03:53:13.000000000","message":"Thanks for info.\nSo the workaround will be available from the RPi linux version 6.6.42 on.\nI\u0027ll test it as it hits bookworm updates.","commit_id":"5f4141df11f2a2a2418d3d2dd3cdbd9f4cb822bb"}],"tcl/interface/raspberrypi5-gpiod.cfg":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"fe48c0cfbc306bac1832e69572d24cd63ab54563","unresolved":true,"context_lines":[{"line_number":19,"context_line":"}"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"set pcie_aspm [read_file /sys/module/pcie_aspm/parameters/policy]"},{"line_number":22,"context_line":"# escaping [ ] characters in string match pattern does not work in Jim-Tcl"},{"line_number":23,"context_line":"if {![string match \"*\u003cperformance\u003e*\" [string map { \"\\[\" \u003c \"\\]\" \u003e } $pcie_aspm]]} {"},{"line_number":24,"context_line":"\techo \"Warn : Switch PCIe power saving off or the first couple of pulses gets clocked as fast as 20 MHz\""},{"line_number":25,"context_line":"\techo \"Warn : Issue \u0027echo performance | sudo tee /sys/module/pcie_aspm/parameters/policy\u0027\""},{"line_number":26,"context_line":"}"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"aa73a53a_cd02400a","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":82},"updated":"2024-08-02 17:19:22.000000000","message":"It works, but you have to use the right TCL syntax.\nIn TCL a string within double quote is \u0027expanded\u0027, so the escaped sequence `\\[` becomes `[` and you end up in a different type of string match.\n\nEither you use curly brackets for not expanding the string:\n`if {![string match {*\\[performance\\]*} $pcie_aspm]} {`\nor you add additional escape to both `\\` and `[`:\n`if {![string match \"*\\\\\\[performance\\\\\\]*\" $pcie_aspm]} {`\n\nWould you mind sending a fix?","commit_id":"ad87fbd1cf28760795c4e18f3318a2d720e5a8a6"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"d9d63b3e3485efbb4a209a30816987da986b9f74","unresolved":false,"context_lines":[{"line_number":19,"context_line":"}"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"set pcie_aspm [read_file /sys/module/pcie_aspm/parameters/policy]"},{"line_number":22,"context_line":"# escaping [ ] characters in string match pattern does not work in Jim-Tcl"},{"line_number":23,"context_line":"if {![string match \"*\u003cperformance\u003e*\" [string map { \"\\[\" \u003c \"\\]\" \u003e } $pcie_aspm]]} {"},{"line_number":24,"context_line":"\techo \"Warn : Switch PCIe power saving off or the first couple of pulses gets clocked as fast as 20 MHz\""},{"line_number":25,"context_line":"\techo \"Warn : Issue \u0027echo performance | sudo tee /sys/module/pcie_aspm/parameters/policy\u0027\""},{"line_number":26,"context_line":"}"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"da55affd_dfec2336","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":82},"in_reply_to":"aa73a53a_cd02400a","updated":"2024-08-02 17:54:16.000000000","message":"Thanks for explanation!\n\n8426: tcl/interface/raspberrypi5-gpiod: fix string match pattern escaping | https://review.openocd.org/c/openocd/+/8426","commit_id":"ad87fbd1cf28760795c4e18f3318a2d720e5a8a6"}]}
