remove TAP_SCAN_BYTES macro

Use DIV_ROUND_UP(n, 8) instead of TAP_SCAN_BYTES macro.
This commit is contained in:
Zachary T Welch
2009-11-16 03:12:45 -08:00
parent a94748ec6d
commit 0535a92456
4 changed files with 9 additions and 11 deletions

View File

@@ -763,15 +763,16 @@ static int jlink_tap_execute(void)
if (!tap_length)
return ERROR_OK;
/* JLink returns an extra NULL in packet when size of in message is a multiple of 64, creates problems with usb comms */
/* WARNING This will interfere with tap state counting */
while ((TAP_SCAN_BYTES(tap_length)%64) == 0)
/* JLink returns an extra NULL in packet when size of incoming
* message is a multiple of 64, creates problems with USB comms.
* WARNING: This will interfere with tap state counting. */
while ((DIV_ROUND_UP(tap_length, 8) % 64) == 0)
{
jlink_tap_append_step((tap_get_state() == TAP_RESET)?1:0, 0);
}
// number of full bytes (plus one if some would be left over)
byte_length = TAP_SCAN_BYTES(tap_length);
byte_length = DIV_ROUND_UP(tap_length, 8);
bool use_jtag3 = jlink_hw_jtag_version >= 3;
usb_out_buffer[0] = use_jtag3 ? EMU_CMD_HW_JTAG3 : EMU_CMD_HW_JTAG2;
@@ -808,7 +809,7 @@ static int jlink_tap_execute(void)
DEBUG_JTAG_IO("pending scan result, length = %d", length);
#ifdef _DEBUG_USB_COMMS_
jlink_debug_buffer(buffer, TAP_SCAN_BYTES(length));
jlink_debug_buffer(buffer, DIV_ROUND_UP(length, 8));
#endif
if (jtag_read_buffer(buffer, command) != ERROR_OK)