This is an automated email from Gerrit. Andreas Fritiofson (andreas.fritiof...@gmail.com) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/1999
-- gerrit commit 5297c7be9c04cf8bdf128ddeacb5fa5b330b2344 Author: Andreas Fritiofson <andreas.fritiof...@gmail.com> Date: Thu Feb 27 22:23:58 2014 +0100 ftdi: Optimize GPIO toggling Only send the new I/O state for the bytes that changed. Change-Id: I930edc9518e6019331e68e4756acc5e92dda25a4 Signed-off-by: Andreas Fritiofson <andreas.fritiof...@gmail.com> diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c index 5617599..b13d6f8 100644 --- a/src/jtag/drivers/ftdi.c +++ b/src/jtag/drivers/ftdi.c @@ -182,14 +182,19 @@ static int ftdi_set_signal(const struct signal *s, char value) return ERROR_FAIL; } + uint16_t old_output = output; + uint16_t old_direction = direction; + output = data ? output | s->data_mask : output & ~s->data_mask; if (s->oe_mask == s->data_mask) direction = oe ? direction | s->oe_mask : direction & ~s->oe_mask; else output = oe ? output | s->oe_mask : output & ~s->oe_mask; - mpsse_set_data_bits_low_byte(mpsse_ctx, output & 0xff, direction & 0xff); - mpsse_set_data_bits_high_byte(mpsse_ctx, output >> 8, direction >> 8); + if ((output & 0xff) != (old_output & 0xff) || (direction & 0xff) != (old_direction & 0xff)) + mpsse_set_data_bits_low_byte(mpsse_ctx, output & 0xff, direction & 0xff); + if ((output >> 8 != old_output >> 8) || (direction >> 8 != old_direction >> 8)) + mpsse_set_data_bits_high_byte(mpsse_ctx, output >> 8, direction >> 8); return ERROR_OK; } -- ------------------------------------------------------------------------------ Flow-based real-time traffic analytics software. Cisco certified tool. Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer Customize your own dashboards, set traffic alerts and generate reports. Network behavioral analysis & security monitoring. All-in-one tool. http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk _______________________________________________ OpenOCD-devel mailing list OpenOCD-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openocd-devel