From: Øyvind Harboe Date: Mon, 1 Mar 2010 14:39:41 +0000 (+0100) Subject: zy1000: faster jtag_add_ir_scan() X-Git-Tag: v0.5.0-rc1~890 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=b1c00e5a4e038068dce4512c5a2eb3735990b880 zy1000: faster jtag_add_ir_scan() Faster and simpler. Signed-off-by: Øyvind Harboe --- diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c index 6465aaa7b2..c5bc0ffd92 100644 --- a/src/jtag/zy1000/zy1000.c +++ b/src/jtag/zy1000/zy1000.c @@ -608,15 +608,9 @@ int interface_jtag_add_ir_scan(int num_fields, const struct scan_field *fields, if (!found) { /* if a device isn't listed, set it to BYPASS */ - uint8_t ones[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; - - struct scan_field tmp; - memset(&tmp, 0, sizeof(tmp)); - tmp.out_value = ones; - tmp.num_bits = scan_size; - scanFields(1, &tmp, TAP_IRSHIFT, pause); - /* update device information */ - buf_cpy(tmp.out_value, tap->cur_instr, scan_size); + assert(scan_size <= 32); + shiftValueInner(TAP_IRSHIFT, pause?TAP_IRPAUSE:TAP_IRSHIFT, scan_size, 0xffffffff); + tap->bypass = 1; } }