Line 153... |
Line 153... |
/* stay in this state if (TXEN && !READY) */
|
/* stay in this state if (TXEN && !READY) */
|
break;
|
break;
|
case ETH_TXSTATE_READFIFO:
|
case ETH_TXSTATE_READFIFO:
|
#if 1
|
#if 1
|
if ( eth->tx.bytes_sent < eth->tx.packet_length ) {
|
if ( eth->tx.bytes_sent < eth->tx.packet_length ) {
|
read_word = eval_mem32(eth->tx.bytes_sent + eth->tx.bd_addr, &breakpoint);
|
read_word = eval_direct32(eth->tx.bytes_sent + eth->tx.bd_addr, &breakpoint, 0, 0);
|
eth->tx_buff[eth->tx.bytes_sent] = (unsigned char)(read_word >> 24);
|
eth->tx_buff[eth->tx.bytes_sent] = (unsigned char)(read_word >> 24);
|
eth->tx_buff[eth->tx.bytes_sent+1] = (unsigned char)(read_word >> 16);
|
eth->tx_buff[eth->tx.bytes_sent+1] = (unsigned char)(read_word >> 16);
|
eth->tx_buff[eth->tx.bytes_sent+2] = (unsigned char)(read_word >> 8);
|
eth->tx_buff[eth->tx.bytes_sent+2] = (unsigned char)(read_word >> 8);
|
eth->tx_buff[eth->tx.bytes_sent+3] = (unsigned char)(read_word);
|
eth->tx_buff[eth->tx.bytes_sent+3] = (unsigned char)(read_word);
|
eth->tx.bytes_sent += 4;
|
eth->tx.bytes_sent += 4;
|
}
|
}
|
#else
|
#else
|
if ( eth->tx.bytes_sent < eth->tx.packet_length ) {
|
if ( eth->tx.bytes_sent < eth->tx.packet_length ) {
|
eth->tx_buff[eth->tx.bytes_sent] = eval_mem8(eth->tx.bytes_sent + eth->tx.bd_addr, &breakpoint);
|
eth->tx_buff[eth->tx.bytes_sent] = eval_direct8(eth->tx.bytes_sent + eth->tx.bd_addr, &breakpoint, 0, 0);
|
eth->tx.bytes_sent += 1;
|
eth->tx.bytes_sent += 1;
|
}
|
}
|
#endif
|
#endif
|
else {
|
else {
|
debug (3, "TX - entering state TRANSMIT\n");
|
debug (3, "TX - entering state TRANSMIT\n");
|
Line 387... |
Line 387... |
#if 1
|
#if 1
|
send_word = ((unsigned long)eth->rx_buff[eth->rx.bytes_read] << 24) |
|
send_word = ((unsigned long)eth->rx_buff[eth->rx.bytes_read] << 24) |
|
((unsigned long)eth->rx_buff[eth->rx.bytes_read+1] << 16) |
|
((unsigned long)eth->rx_buff[eth->rx.bytes_read+1] << 16) |
|
((unsigned long)eth->rx_buff[eth->rx.bytes_read+2] << 8) |
|
((unsigned long)eth->rx_buff[eth->rx.bytes_read+2] << 8) |
|
((unsigned long)eth->rx_buff[eth->rx.bytes_read+3] );
|
((unsigned long)eth->rx_buff[eth->rx.bytes_read+3] );
|
set_mem32( eth->rx.bd_addr + eth->rx.bytes_read, send_word, &breakpoint);
|
set_direct32( eth->rx.bd_addr + eth->rx.bytes_read, send_word, &breakpoint, 0, 0);
|
/* update counters */
|
/* update counters */
|
debug (3, "Write %d, left %d - %08lXd\n", eth->rx.bytes_read, eth->rx.bytes_left, send_word);
|
debug (3, "Write %d, left %d - %08lXd\n", eth->rx.bytes_read, eth->rx.bytes_left, send_word);
|
eth->rx.bytes_left -= 4;
|
eth->rx.bytes_left -= 4;
|
eth->rx.bytes_read += 4;
|
eth->rx.bytes_read += 4;
|
#else
|
#else
|
set_mem8( eth->rx.bd_addr + eth->rx.bytes_read, eth->rx_buff[eth->rx.bytes_read], &breakpoint);
|
set_direct8( eth->rx.bd_addr + eth->rx.bytes_read, eth->rx_buff[eth->rx.bytes_read], &breakpoint, 0, 0);
|
eth->rx.bytes_left -= 1;
|
eth->rx.bytes_left -= 1;
|
eth->rx.bytes_read += 1;
|
eth->rx.bytes_read += 1;
|
#endif
|
#endif
|
|
|
if ( eth->rx.bytes_left <= 0 ) {
|
if ( eth->rx.bytes_left <= 0 ) {
|