This is an automated email from Gerrit.

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

-- gerrit

commit 1748975bc5feca583880bdbc878046e2d8ff8596
Author: Spencer Oliver <[email protected]>
Date:   Wed Jan 16 11:57:57 2013 +0000

    jtag: only change state if necessary
    
    All the other drivers will only change the state if required.
    This brings all the other drivers inline with this behaviour.
    
    The original issue relates to problems on xscale commit 
7989000e0969c1ccf69acbc3ce649a020bc1ee66
    
    Change-Id: Ifc90ec2eef68a70a14f37c00931a07982bfa200c
    Signed-off-by: Spencer Oliver <[email protected]>

diff --git a/src/jtag/drivers/amt_jtagaccel.c b/src/jtag/drivers/amt_jtagaccel.c
index d89e5ff..5005e76 100644
--- a/src/jtag/drivers/amt_jtagaccel.c
+++ b/src/jtag/drivers/amt_jtagaccel.c
@@ -264,7 +264,10 @@ static void amt_jtagaccel_scan(bool ir_scan, enum 
scan_type type, uint8_t *buffe
        else
                amt_jtagaccel_end_state(TAP_DRSHIFT);
 
-       amt_jtagaccel_state_move();
+       /* Only move if we're not already there */
+       if (tap_get_state() != tap_get_end_state())
+               amt_jtagaccel_state_move();
+
        amt_jtagaccel_end_state(saved_end_state);
 
        /* handle unaligned bits at the beginning */
diff --git a/src/jtag/drivers/arm-jtag-ew.c b/src/jtag/drivers/arm-jtag-ew.c
index 35b6b92..1624510 100644
--- a/src/jtag/drivers/arm-jtag-ew.c
+++ b/src/jtag/drivers/arm-jtag-ew.c
@@ -355,7 +355,10 @@ static void armjtagew_scan(bool ir_scan,
        /* Move to appropriate scan state */
        armjtagew_end_state(ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT);
 
-       armjtagew_state_move();
+       /* Only move if we're not already there */
+       if (tap_get_state() != tap_get_end_state())
+               armjtagew_state_move();
+
        armjtagew_end_state(saved_end_state);
 
        /* Scan */
diff --git a/src/jtag/drivers/buspirate.c b/src/jtag/drivers/buspirate.c
index 86b9882..10b5e0f 100644
--- a/src/jtag/drivers/buspirate.c
+++ b/src/jtag/drivers/buspirate.c
@@ -520,7 +520,10 @@ static void buspirate_scan(bool ir_scan, enum scan_type 
type,
        saved_end_state = tap_get_end_state();
 
        buspirate_end_state(ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT);
-       buspirate_state_move();
+
+       /* Only move if we're not already there */
+       if (tap_get_state() != tap_get_end_state())
+               buspirate_state_move();
 
        buspirate_tap_append_scan(scan_size, buffer, command);
 

-- 

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to