From: Øyvind Harboe Date: Mon, 22 Mar 2010 07:27:03 +0000 (+0100) Subject: zy1000: fix optimisaion bug in dcc writes X-Git-Tag: v0.5.0-rc1~804 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=721502f1d3a0d506bc0e814926368fbedda60028;p=openocd zy1000: fix optimisaion bug in dcc writes Introduced & corrected since 0.4. Signed-off-by: Øyvind Harboe --- diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c index 6f75e59b..b8abc894 100644 --- a/src/jtag/zy1000/zy1000.c +++ b/src/jtag/zy1000/zy1000.c @@ -828,23 +828,17 @@ void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, uint8_t *buffer, } } else { - tap_state_t end_state = TAP_IDLE; - tap_state_t shift_end_state = TAP_DRSHIFT; - if (post_bits == 0) - shift_end_state = end_state; - shiftValueInner(TAP_DRSHIFT, TAP_DRSHIFT, pre_bits, 0); int i; for (i = 0; i < count - 1; i++) { /* Fewer pokes means we get to use the FIFO more efficiently */ shiftValueInner(TAP_DRSHIFT, TAP_DRSHIFT, 32, fast_target_buffer_get_u32(buffer, little)); - shiftValueInner(TAP_DRSHIFT, shift_end_state, 6 + post_bits + pre_bits, (reg_addr | (1 << 5))); + shiftValueInner(TAP_DRSHIFT, TAP_IDLE, 6 + post_bits + pre_bits, (reg_addr | (1 << 5))); buffer += 4; } shiftValueInner(TAP_DRSHIFT, TAP_DRSHIFT, 32, fast_target_buffer_get_u32(buffer, little)); - shiftValueInner(TAP_DRSHIFT, shift_end_state, 6, reg_addr | (1 << 5)); - shiftValueInner(shift_end_state, end_state, post_bits, 0); + shiftValueInner(TAP_DRSHIFT, TAP_IDLE, 6 + post_bits, (reg_addr | (1 << 5))); } }