This is an automated email from Gerrit.

simon qian ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/2302

-- gerrit

commit f570b62a2ef260818f76554cdf6bbd755677e179
Author: Simon Qian <[email protected]>
Date:   Tue Sep 16 21:10:13 2014 +0800

    improve the performance for versaloon when using swd, versaloon firmware 
has been updated for reporting errors if fail on swd transactions.
    
    Change-Id: I49ac0ad034cc9ad83cc4e43953579811d1243063
    Signed-off-by: Simon Qian <[email protected]>

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();
 }
 
 /****************************************************************************

-- 

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce.
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to