summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2010-03-01 15:39:41 +0100
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-03-01 15:41:49 +0100
commitb1c00e5a4e038068dce4512c5a2eb3735990b880 (patch)
tree636822117e7566d6c258cda3f9eba8bdb9f83921 /src
parent27401e4c80b137f599954ac521387b247002770c (diff)
downloadopenocd_libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.tar.gz
openocd_libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.tar.bz2
openocd_libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.tar.xz
openocd_libswd-b1c00e5a4e038068dce4512c5a2eb3735990b880.zip
zy1000: faster jtag_add_ir_scan()
Faster and simpler. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src')
-rw-r--r--src/jtag/zy1000/zy1000.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/jtag/zy1000/zy1000.c b/src/jtag/zy1000/zy1000.c
index 6465aaa7..c5bc0ffd 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;
}
}