From: OpenOCD-Gerrit <ope...@us...> - 2014-09-29 20:07:39
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via b4f6338738ddd13a36922109347fc3d6fe0733c0 (commit) from 54ff07808fb4c2f1a6226a0dfa669a43dc88edad (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b4f6338738ddd13a36922109347fc3d6fe0733c0 Author: Simon Qian <op...@ve...> Date: Tue Sep 16 21:10:13 2014 +0800 vsllink: improve the performance when using swd Versaloon firmware has been updated for reporting errors if fail on swd transactions. Change-Id: I49ac0ad034cc9ad83cc4e43953579811d1243063 Signed-off-by: Simon Qian <op...@ve...> Reviewed-on: http://openocd.zylin.com/2302 Reviewed-by: Fatih AÅıcı <fat...@gm...> Tested-by: jenkins Reviewed-by: Spencer Oliver <sp...@sp...> diff --git a/src/jtag/drivers/vsllink.c b/src/jtag/drivers/vsllink.c index fcac288..844f6f2 100644 --- a/src/jtag/drivers/vsllink.c +++ b/src/jtag/drivers/vsllink.c @@ -97,7 +97,6 @@ static uint8_t *tdi_buffer; static uint8_t *tdo_buffer; static bool swd_mode; -static int queued_retval; static struct vsllink *vsllink_handle; @@ -758,7 +757,6 @@ static int_least32_t vsllink_swd_frequency(struct adiv5_dap *dap, LOG_DEBUG("SWD delay: %d, retry count: %d", delay, retry_count); versaloon_interface.adaptors.swd.config(0, 2, retry_count, delay); - queued_retval = versaloon_interface.adaptors.peripheral_commit(); } return hz; @@ -788,68 +786,24 @@ static int vsllink_swd_switch_seq(struct adiv5_dap *dap, return ERROR_FAIL; } - return versaloon_interface.adaptors.peripheral_commit(); + return ERROR_OK; } static void vsllink_swd_read_reg(struct adiv5_dap *dap, uint8_t cmd, uint32_t *value) { - if (queued_retval != ERROR_OK) - return; - - int retval; - uint32_t val = 0; - uint8_t ack; - - versaloon_interface.adaptors.swd.transact(0, cmd, &val, &ack); - retval = versaloon_interface.adaptors.peripheral_commit(); - - if (retval != ERROR_OK) { - queued_retval = ERROR_FAIL; - return; - } - - if (ack != 0x01) { - queued_retval = ack; - return; - } - - if (value) - *value = val; - - queued_retval = retval; + versaloon_interface.adaptors.swd.transact(0, cmd, value, NULL); } static void vsllink_swd_write_reg(struct adiv5_dap *dap, uint8_t cmd, uint32_t value) { - if (queued_retval != ERROR_OK) - return; - - int retval; - uint8_t ack; - - versaloon_interface.adaptors.swd.transact(0, cmd, &value, &ack); - retval = versaloon_interface.adaptors.peripheral_commit(); - - if (retval != ERROR_OK) { - queued_retval = ERROR_FAIL; - return; - } - - if (ack != 0x01) { - queued_retval = ack; - return; - } - - queued_retval = retval; + versaloon_interface.adaptors.swd.transact(0, cmd, &value, NULL); } static int vsllink_swd_run_queue(struct adiv5_dap *dap) { - int retval = queued_retval; - queued_retval = ERROR_OK; - return retval; + return versaloon_interface.adaptors.peripheral_commit(); } /**************************************************************************** ----------------------------------------------------------------------- Summary of changes: src/jtag/drivers/vsllink.c | 54 +++---------------------------------------- 1 files changed, 4 insertions(+), 50 deletions(-) hooks/post-receive -- Main OpenOCD repository |