X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fdrivers%2Fbitq.c;h=4e2dbc21c3fb21ca5f60801890b003aba9470d41;hp=79ca349ad3f996ed5cef400f69d79c9f052c60bc;hb=d31803d3d9bc4750ff34d14cffb809c916401d1e;hpb=ccfaed8bc7936d7a1640bf69df52ac65ca38e298 diff --git a/src/jtag/drivers/bitq.c b/src/jtag/drivers/bitq.c index 79ca349ad3..4e2dbc21c3 100644 --- a/src/jtag/drivers/bitq.c +++ b/src/jtag/drivers/bitq.c @@ -37,12 +37,8 @@ struct bitq_state { }; static struct bitq_state bitq_in_state; -static uint8_t* bitq_in_buffer; /* buffer dynamically reallocated as needed */ -static int bitq_in_bufsize = 32; /* min. buffer size */ - /* * input queue processing does not use jtag_read_buffer() to avoid unnecessary overhead - * also the buffer for incomming data is reallocated only if necessary * no parameters, makes use of stored state information */ void bitq_in_proc(void) @@ -72,32 +68,7 @@ void bitq_in_proc(void) /* initialize field scanning */ in_mask = 0x01; in_idx = 0; - if (field->in_value) - in_buff = field->in_value; - else - { - /* buffer reallocation needed? */ - if (field->num_bits > bitq_in_bufsize * 8) - { - /* buffer previously allocated? */ - if (bitq_in_buffer != NULL) - { - /* free it */ - free(bitq_in_buffer); - bitq_in_buffer = NULL; - } - /* double the buffer size until it fits */ - while (field->num_bits > bitq_in_bufsize * 8) - bitq_in_bufsize *= 2; - } - /* if necessary, allocate buffer and check for malloc error */ - if (bitq_in_buffer == NULL && (bitq_in_buffer = malloc(bitq_in_bufsize)) == NULL) - { - LOG_ERROR("malloc error"); - exit(-1); - } - in_buff = (void*) bitq_in_buffer; - } + in_buff = field->in_value; } /* field scanning */ @@ -221,7 +192,7 @@ void bitq_runtest(int num_cycles) } -void bitq_scan_field(struct scan_field* field, int pause) +void bitq_scan_field(struct scan_field* field, int do_pause) { int bit_cnt; int tdo_req; @@ -240,7 +211,7 @@ void bitq_scan_field(struct scan_field* field, int pause) for (bit_cnt = field->num_bits; bit_cnt > 1; bit_cnt--) bitq_io(0, 0, tdo_req); - bitq_io(pause, 0, tdo_req); + bitq_io(do_pause, 0, tdo_req); } else { @@ -259,10 +230,10 @@ void bitq_scan_field(struct scan_field* field, int pause) out_mask <<= 1; } - bitq_io(pause, ((*out_ptr) & out_mask) != 0, tdo_req); + bitq_io(do_pause, ((*out_ptr) & out_mask) != 0, tdo_req); } - if (pause) + if (do_pause) { bitq_io(0, 0, 0); if (tap_get_state() == TAP_IRSHIFT) @@ -323,7 +294,7 @@ int bitq_execute_queue(void) bitq_runtest(cmd->cmd.runtest->num_cycles); break; - case JTAG_STATEMOVE: + case JTAG_TLR_RESET: #ifdef _DEBUG_JTAG_IO_ LOG_DEBUG("statemove end in %i", cmd->cmd.statemove->end_state); #endif @@ -390,9 +361,4 @@ int bitq_execute_queue(void) void bitq_cleanup(void) { - if (bitq_in_buffer != NULL) - { - free(bitq_in_buffer); - bitq_in_buffer = NULL; - } }