tinker with Xscale performance, anti-log spamming is now only for debug_level 3 or more. Otherwise polling is done continously for 1 second.

git-svn-id: svn://svn.berlios.de/openocd/trunk@937 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
oharboe 2008-08-19 11:56:45 +00:00
parent bbe7110f42
commit 91b6460671
1 changed files with 51 additions and 53 deletions

View File

@ -486,9 +486,6 @@ int xscale_read_tx(target_t *target, int consume)
timeval_add_time(&timeout, 1, 0); timeval_add_time(&timeout, 1, 0);
for (;;) for (;;)
{
int i;
for (i=0; i<100; i++)
{ {
/* if we want to consume the register content (i.e. clear TX_READY), /* if we want to consume the register content (i.e. clear TX_READY),
* we have to go straight from Capture-DR to Shift-DR * we have to go straight from Capture-DR to Shift-DR
@ -519,10 +516,12 @@ int xscale_read_tx(target_t *target, int consume)
{ {
goto done; goto done;
} }
} if (debug_level>=3)
{
LOG_DEBUG("waiting 10ms"); LOG_DEBUG("waiting 10ms");
usleep(10*1000); /* avoid flooding the logs */ usleep(10*1000); /* avoid flooding the logs */
} }
}
done: done:
if (!(field0_in & 1)) if (!(field0_in & 1))
@ -584,9 +583,6 @@ int xscale_write_rx(target_t *target)
/* poll until rx_read is low */ /* poll until rx_read is low */
LOG_DEBUG("polling RX"); LOG_DEBUG("polling RX");
for (;;) for (;;)
{
int i;
for (i=0; i<100; i++)
{ {
jtag_add_dr_scan(3, fields, TAP_RTI); jtag_add_dr_scan(3, fields, TAP_RTI);
@ -604,9 +600,11 @@ int xscale_write_rx(target_t *target)
} }
if (!(field0_in & 1)) if (!(field0_in & 1))
goto done; goto done;
} if (debug_level>=3)
{
LOG_DEBUG("waiting 10ms"); LOG_DEBUG("waiting 10ms");
usleep(10*1000); /* wait 10ms to avoid flooding the logs */ usleep(10*1000); /* avoid flooding the logs */
}
} }
done: done: