)]}'
{"id":"openocd~master~I2e1c93ac5ee8ac38a7d680ca2c660c30093a6b87","project":"openocd","branch":"master","hashtags":[],"change_id":"I2e1c93ac5ee8ac38a7d680ca2c660c30093a6b87","subject":"arm_adi_v5: Make the DAP API stateless","status":"MERGED","created":"2015-12-10 06:29:00.000000000","updated":"2015-12-29 20:33:04.000000000","submitted":"2015-12-29 20:33:04.000000000","submitter":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"229a55fbacdcadd02f17d2094ced439ceeb72f3d","_number":3165,"owner":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},{"value":0,"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},{"value":0,"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"value":1,"date":"2015-12-29 20:33:04.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"all":[{"value":0,"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},{"value":1,"date":"2015-12-29 20:33:04.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},{"value":2,"date":"2015-12-29 20:33:04.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"value":0,"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},{"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-12-11 11:14:47.000000000","updated_by":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"reviewer":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"state":"REVIEWER"},{"updated":"2015-12-14 23:23:04.000000000","updated_by":{"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},"reviewer":{"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},"state":"REVIEWER"},{"updated":"2015-12-28 18:11:03.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2015-12-28 21:16:52.000000000","updated_by":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"reviewer":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"state":"REVIEWER"}],"messages":[{"id":"b703003d48e5a748f357a7505f1da4769b734658","author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"real_author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"date":"2015-12-10 06:29:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3991a1193a71144939502e4d97f3bc42e3acb71c","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2015-12-10 07:07:51.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/6711/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/6130/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"d92ac29d2dbef185ed3f8058e333901e95e36fe2","author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"real_author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"date":"2015-12-11 11:14:47.000000000","message":"Patch Set 1: Code-Review+1\n\ntested queue of patches with this on top on jetson (c-a15), details see on m-l","accounts_in_message":[],"_revision_number":1},{"id":"f581dd408c2f2bd1f49c6597427de7f295ad8e40","author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"real_author":{"_account_id":1000637,"name":"Jiri Kastner","display_name":"indy","email":"cz172638@gmail.com","username":"indy"},"date":"2015-12-11 11:40:21.000000000","message":"Patch Set 1:\n\n[root@localhost ~]# grep sys_sync /proc/kallsyms \nc01b3ccc T sys_sync\nc01b3dc8 T sys_syncfs\nc01b3e50 T sys_sync_file_range\nc01b3fb0 T sys_sync_file_range2\n[root@localhost ~]# \n[root@localhost ~]# sync\n#####\n\u003e bp 0xc01b3ccc 4 hw\nbreakpoint set at 0xc01b3ccc\n\u003e resume\ntegra124.cpu1: target state: halted\ntarget halted in ARM state due to breakpoint, current mode: Supervisor\ncpsr: 0x800f0013 pc: 0xc01b3ccc\nMMU: enabled, D-Cache: enabled, I-Cache: enabled\ntegra124.cpu2: target state: halted\ntarget halted in ARM state due to debug-request, current mode: Supervisor\ncpsr: 0x60010093 pc: 0xc00395c8\nMMU: enabled, D-Cache: enabled, I-Cache: enabled\ntegra124.cpu3: target state: halted\ntarget halted in ARM state due to debug-request, current mode: Supervisor\ncpsr: 0x60020093 pc: 0xc00395c8\nMMU: enabled, D-Cache: enabled, I-Cache: enabled\ntegra124.cpu0: target state: halted\ntarget halted in ARM state due to debug-request, current mode: Supervisor\ncpsr: 0x600b0093 pc: 0xc00395c8\nMMU: enabled, D-Cache: enabled, I-Cache: enabled\n\u003e rbp 0xc01b3ccc\n\u003e resume\n\n\nreally looks good for me :)","accounts_in_message":[],"_revision_number":1},{"id":"9e23531837f79361eb38156128ad42526a8bec2f","author":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"real_author":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"date":"2015-12-14 14:51:45.000000000","message":"Patch Set 1: Code-Review+1\n\nPatch series tested on Renesas R-CarH2 (4 Cortex-A15)","accounts_in_message":[],"_revision_number":1},{"id":"ef052b7fb1d1d8f4d9dc22b7242f945aa3e9844e","author":{"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},"real_author":{"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},"date":"2015-12-14 17:11:35.000000000","message":"Patch Set 1: Code-Review-1\n\nSomewhere between master (332023fb23ae cortex_a: fix fast-mode memory reads) and this patch, a 50% speed regression happened. I tried bisecting, but it\u0027s impossible. Pretty much every commit has some regression which prevents me from testing, this was the first commit where I could test anything :-)","accounts_in_message":[],"_revision_number":1},{"id":"8c8cef5b7824a75d406e8a010be0dc1b56abac06","author":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"real_author":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"date":"2015-12-14 21:39:24.000000000","message":"Patch Set 1: -Code-Review\n\nI checked and there is now a very pessimistic value for memaccess_tck\nin place. \"dap memaccess 10\" restores the expected speed. In fact I can go down to 3 for even higher speeds.\n\nSince the refactoring also involved changing how memaccess_tck is initialized, I think this is the main reason.","accounts_in_message":[],"_revision_number":1},{"id":"f1aa1b86cabb4ccf49631650bad8a44d9df2d72d","author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"real_author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"date":"2015-12-14 22:11:02.000000000","message":"Patch Set 1:\n\nThere was already in master the pessimistic memaccess_tck in place but it was probably initialized on the wrong AP, which is now fixed. I suggest adding a patch to lower the default value significantly on top of the WAIT change.\n\nAlthough it\u0027s probably correct that this series has some intermediate regressions. I don\u0027t know if it\u0027s worth finding them/fixing that.","accounts_in_message":[],"_revision_number":1},{"id":"7a9a34d7bcf7b33d696524c44ddc9548277a2c0c","author":{"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},"real_author":{"_account_id":1000675,"name":"Felipe Balbi","email":"balbi@kernel.org","username":"felipebalbi"},"date":"2015-12-14 23:23:04.000000000","message":"Patch Set 1: -Code-Review\n\nso what do you suggest Andreas ? I can add a patch explicitly calling dap memaccess to the boards I care about, no problem.","accounts_in_message":[],"_revision_number":1},{"id":"cd91f0a69cb4b262ab81fe27de1e0af835e7449d","author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"real_author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"date":"2015-12-15 06:04:14.000000000","message":"Patch Set 1:\n\nOnce http://openocd.zylin.com/3166 is merged, it\u0027s no longer fatal if memaccess_tck is set too low. So on top of that change, someone can change the initialization of memaccess_tck from 80 to something far lower (cortex_a.c). I can\u0027t determine a suitable value though.","accounts_in_message":[],"_revision_number":1},{"id":"f257580cd3454aaaeb271e788e552893a230f5e3","author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"real_author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"date":"2015-12-28 17:53:21.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"0c2f81513ac43b9d81f5d9cbb9f72ede5fcc964f","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2015-12-28 18:11:03.000000000","message":"Patch Set 2: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/6751/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/6169/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"9fa76438d5aeb5481d3ab2b9e98a18d728aabde6","author":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"real_author":{"_account_id":1001013,"name":"Matthias Welwarsky","email":"matthias@welwarsky.de","username":"thinkfat"},"date":"2015-12-28 21:16:52.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"d7101349d6f725ce79e954a96e4633df36aeef9f","author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"real_author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"date":"2015-12-29 20:33:00.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"229a55fbacdcadd02f17d2094ced439ceeb72f3d","date":"2015-12-29 20:33:04.000000000","message":"Change has been successfully cherry-picked as 830d0c55c0920606366a15560d1945f1e1942744 by Andreas Fritiofson","accounts_in_message":[],"_revision_number":2}],"current_revision":"830d0c55c0920606366a15560d1945f1e1942744","revisions":{"46dc373e345e92788d9950180497c911a3050eee":{"kind":"REWORK","_number":1,"created":"2015-12-10 06:29:00.000000000","uploader":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"ref":"refs/changes/65/3165/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/65/3165/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/1 \u0026\u0026 git checkout -b change-3165 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/65/3165/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"429d7288ef517080c47affbb582de069d24f841b","subject":"arm_adi_v5: dap_queue_ap_* DAP-\u003eAP parameter"}],"author":{"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","date":"2015-12-08 18:35:15.000000000","tz":60},"committer":{"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","date":"2015-12-08 18:35:15.000000000","tz":60},"subject":"arm_adi_v5: Make the DAP API stateless","message":"arm_adi_v5: Make the DAP API stateless\n\nRemove entirely the concept of a \"selected\" AP that has to be maintained\nbetween calls. All the information the DAP ops need are now provided to\neach call through the AP/DAP pointer.\n\nConsolidate the cache of the SELECT fields into one single field caching\nthe entire register.\n\nChange-Id: I2e1c93ac5ee8ac38a7d680ca2c660c30093a6b87\nSigned-off-by: Andreas Fritiofson \u003candreas.fritiofson@gmail.com\u003e\n"}},"830d0c55c0920606366a15560d1945f1e1942744":{"kind":"REWORK","_number":3,"created":"2015-12-29 20:33:04.000000000","uploader":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"ref":"refs/changes/65/3165/3","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/65/3165/3","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/3 \u0026\u0026 git checkout -b change-3165 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/65/3165/3","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"54e89cae84ad513d244d6203de7c20652caa3b38","subject":"arm_adi_v5: dap_queue_ap_* DAP-\u003eAP parameter"}],"author":{"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","date":"2015-12-08 18:35:15.000000000","tz":60},"committer":{"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","date":"2015-12-29 20:33:04.000000000","tz":0},"subject":"arm_adi_v5: Make the DAP API stateless","message":"arm_adi_v5: Make the DAP API stateless\n\nRemove entirely the concept of a \"selected\" AP that has to be maintained\nbetween calls. All the information the DAP ops need are now provided to\neach call through the AP/DAP pointer.\n\nConsolidate the cache of the SELECT fields into one single field caching\nthe entire register.\n\nChange-Id: I2e1c93ac5ee8ac38a7d680ca2c660c30093a6b87\nSigned-off-by: Andreas Fritiofson \u003candreas.fritiofson@gmail.com\u003e\nReviewed-on: http://openocd.zylin.com/3165\nTested-by: jenkins\nReviewed-by: Matthias Welwarsky \u003cmatthias@welwarsky.de\u003e\n"}},"4fb1d3712fc95193b16e2e6e07439c2c57aa7f73":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2015-12-28 17:53:21.000000000","uploader":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"ref":"refs/changes/65/3165/2","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/65/3165/2","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/2 \u0026\u0026 git checkout -b change-3165 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/65/3165/2","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/65/3165/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"88764c20997d17f2471dd34c2777860a64635f7c","subject":"arm_adi_v5: dap_queue_ap_* DAP-\u003eAP parameter"}],"author":{"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","date":"2015-12-08 18:35:15.000000000","tz":60},"committer":{"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","date":"2015-12-28 17:43:32.000000000","tz":60},"subject":"arm_adi_v5: Make the DAP API stateless","message":"arm_adi_v5: Make the DAP API stateless\n\nRemove entirely the concept of a \"selected\" AP that has to be maintained\nbetween calls. All the information the DAP ops need are now provided to\neach call through the AP/DAP pointer.\n\nConsolidate the cache of the SELECT fields into one single field caching\nthe entire register.\n\nChange-Id: I2e1c93ac5ee8ac38a7d680ca2c660c30093a6b87\nSigned-off-by: Andreas Fritiofson \u003candreas.fritiofson@gmail.com\u003e\n"}}},"requirements":[],"submit_records":[],"submit_requirements":[]}
