diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-06-04 12:52:54 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-06-04 12:52:54 +0000 |
commit | 9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd (patch) | |
tree | f07fefd32a8fa49dd16d47cfc8f84f4452fe7241 /src | |
parent | 89e9d86a565820edd56e4a3eecfc0163a6e97b32 (diff) | |
download | openocd+libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.tar.gz openocd+libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.tar.bz2 openocd+libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.tar.xz openocd+libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.zip |
do not modify global end state from jtag_add_xxx()
git-svn-id: svn://svn.berlios.de/openocd/trunk@2047 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/jtag.c | 20 | ||||
-rw-r--r-- | src/jtag/zy1000.c | 10 |
2 files changed, 13 insertions, 17 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 5738a0dc..263b7665 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -396,9 +396,7 @@ static void jtag_prelude(tap_state_t state) assert(state!=TAP_INVALID); - jtag_add_end_state(state); - - cmd_queue_cur_state = cmd_queue_end_state; + cmd_queue_cur_state = state; } void jtag_alloc_in_value32(scan_field_t *field) @@ -411,7 +409,7 @@ void jtag_add_ir_scan_noverify(int in_num_fields, const scan_field_t *in_fields, int retval; jtag_prelude(state); - retval=interface_jtag_add_ir_scan(in_num_fields, in_fields, cmd_queue_end_state); + retval=interface_jtag_add_ir_scan(in_num_fields, in_fields, state); if (retval!=ERROR_OK) jtag_error=retval; @@ -460,7 +458,7 @@ void jtag_add_plain_ir_scan(int in_num_fields, const scan_field_t *in_fields, ta jtag_prelude(state); - retval=interface_jtag_add_plain_ir_scan(in_num_fields, in_fields, cmd_queue_end_state); + retval=interface_jtag_add_plain_ir_scan(in_num_fields, in_fields, state); if (retval!=ERROR_OK) jtag_error=retval; } @@ -548,7 +546,7 @@ void jtag_add_dr_scan(int in_num_fields, const scan_field_t *in_fields, tap_stat jtag_prelude(state); - retval=interface_jtag_add_dr_scan(in_num_fields, in_fields, cmd_queue_end_state); + retval=interface_jtag_add_dr_scan(in_num_fields, in_fields, state); if (retval!=ERROR_OK) jtag_error=retval; } @@ -567,7 +565,7 @@ void jtag_add_plain_dr_scan(int in_num_fields, const scan_field_t *in_fields, ta jtag_prelude(state); - retval=interface_jtag_add_plain_dr_scan(in_num_fields, in_fields, cmd_queue_end_state); + retval=interface_jtag_add_plain_dr_scan(in_num_fields, in_fields, state); if (retval!=ERROR_OK) jtag_error=retval; } @@ -578,13 +576,11 @@ void jtag_add_dr_out(jtag_tap_t* tap, { assert(end_state != TAP_INVALID); - cmd_queue_end_state = end_state; - - cmd_queue_cur_state = cmd_queue_end_state; + cmd_queue_cur_state = end_state; interface_jtag_add_dr_out(tap, num_fields, num_bits, value, - cmd_queue_end_state); + end_state); } void jtag_add_tlr(void) @@ -644,7 +640,7 @@ void jtag_add_runtest(int num_cycles, tap_state_t state) jtag_prelude(state); /* executed by sw or hw fifo */ - retval=interface_jtag_add_runtest(num_cycles, cmd_queue_end_state); + retval=interface_jtag_add_runtest(num_cycles, state); if (retval!=ERROR_OK) jtag_error=retval; } diff --git a/src/jtag/zy1000.c b/src/jtag/zy1000.c index 6a4d7592..f2e7887a 100644 --- a/src/jtag/zy1000.c +++ b/src/jtag/zy1000.c @@ -517,7 +517,7 @@ int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_s tap_state_t end_state; if (nextTap==NULL) { - end_state = cmd_queue_end_state; + end_state = state; } else { end_state = TAP_IRSHIFT; @@ -568,7 +568,7 @@ int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_s int interface_jtag_add_plain_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state) { - scanFields(num_fields, fields, TAP_IRSHIFT, cmd_queue_end_state); + scanFields(num_fields, fields, TAP_IRSHIFT, state); return ERROR_OK; } @@ -587,7 +587,7 @@ int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_s tap_state_t end_state; if (nextTap==NULL) { - end_state = cmd_queue_end_state; + end_state = state; } else { end_state = TAP_DRSHIFT; @@ -621,7 +621,7 @@ int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_s int interface_jtag_add_plain_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state) { - scanFields(num_fields, fields, TAP_DRSHIFT, cmd_queue_end_state); + scanFields(num_fields, fields, TAP_DRSHIFT, state); return ERROR_OK; } @@ -693,7 +693,7 @@ int interface_jtag_add_runtest(int num_cycles, tap_state_t state) int interface_jtag_add_clocks(int num_cycles) { - return zy1000_jtag_add_clocks(num_cycles, cmd_queue_cur_state, cmd_queue_end_state); + return zy1000_jtag_add_clocks(num_cycles, cmd_queue_cur_state, cmd_queue_cur_state); } int interface_jtag_add_sleep(u32 us) |